X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2FLogicUICanvas.java;h=73c1f06b2f63a6b5550e5afb5e0995f7aeed6f2f;hb=1964378a139b469b535d78ab1e77524214303b30;hp=08a40a452e1762edd8ec7829f3321a821f133349;hpb=74bced7a3a38f65c65f3395cc422eb98e34da0b8;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java index 08a40a45..73c1f06b 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java @@ -100,7 +100,7 @@ public class LogicUICanvas extends ZoomableCanvas radioBit.setText("Single bit"); Button radioBitVector = new Button(radioGroup, SWT.RADIO); radioBitVector.setText("Bitvector"); - new Label(debugShell, SWT.NONE).setText("Value string representation: "); + new Label(debugShell, SWT.NONE).setText("Value string representation: \n(Bit vectors: MSBit...LSBit)"); Text valueText = new Text(debugShell, SWT.SINGLE | SWT.LEAD | SWT.BORDER); valueText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); Button send = new Button(debugShell, SWT.PUSH); @@ -113,15 +113,16 @@ public class LogicUICanvas extends ZoomableCanvas { try { - if (componentSelector.getSelectionIndex() >= componentsByItemIndex.size()) - throw new RuntimeException("No valid component selected"); - GUIComponent target = componentsByItemIndex.get(componentSelector.getSelectionIndex()); + int componentIndex = componentSelector.getSelectionIndex(); + if (componentIndex < 0 || componentIndex >= componentsByItemIndex.size()) + throw new RuntimeException("No component selected"); + GUIComponent target = componentsByItemIndex.get(componentIndex); String valueString = valueText.getText(); Object value; if (radioBit.getSelection()) value = Bit.parse(valueString); else if (radioBitVector.getSelection()) - value = BitVector.parse(valueString); + value = BitVector.parse(new StringBuilder(valueString).reverse().toString()); else throw new RuntimeException("No value type selected"); target.setHighLevelState(stateIDText.getText(), value); @@ -138,7 +139,8 @@ public class LogicUICanvas extends ZoomableCanvas { if (componentSelector.getSelectionIndex() >= componentsByItemIndex.size()) throw new RuntimeException("No valid component selected"); - output.setText("Success! Value: \r\n" + componentsByItemIndex.get(componentSelector.getSelectionIndex()).getHighLevelState(stateIDText.getText())); + output.setText("Success! Value: \r\n" + + componentsByItemIndex.get(componentSelector.getSelectionIndex()).getHighLevelState(stateIDText.getText())); } catch (Exception x) {