Bugs Fix
Thu Mar 23 15:26:15 WET 2006 Miguel Vilaca <jmvilaca@di.uminho.pt>
* Bugs Fix
Fixes this bugs:
- Some messages weren't shown in Linux due to special caracters.
- Removing a rule weren't updating the state correctly.
- It was possible to remove of the last rule.
- Some dummy errors were generated when opening a new INblobs file.
{
binary ./INblobs.exe
hunk ./src/NetworkUI.hs 390
- ; let interfacePal = [_$_]
- Palette [_$_]
- [ ("interface"
- , ( Circle { shapeStyle = ShapeStyle
- { styleStrokeWidth = 2
- , styleStrokeColour = RGB 255 255 255
- , styleFill = RGB 255 255 255
- }
- , shapeRadius = 0.25
- }
- , Just [("interface", DoublePoint 0.0 0.25)]
- , Just n ))
- ]
+ ; setInterfacePalette n state
hunk ./src/NetworkUI.hs 392
- -- set the initial palette only with interface agent [_$_]
- ; PD.superficialUpdateDocument (setPalette interfacePal) pDoc
- ; setCurrentShape "interface" state
-
- ; buildVisiblePalette state
- [_$_]
hunk ./src/NetworkUI.hs 566
+setInterfacePalette :: (InfoKind n g) => n -> State g n e -> IO ()
+setInterfacePalette n state =
+ do pDoc <- getDocument state
+
+ let interfacePal = [_$_]
+ Palette [_$_]
+ [ ("interface"
+ , ( Circle { shapeStyle = ShapeStyle
+ { styleStrokeWidth = 2
+ , styleStrokeColour = RGB 255 255 255
+ , styleFill = RGB 255 255 255
+ }
+ , shapeRadius = 0.25
+ }
+ , Just [("interface", DoublePoint 0.0 0.25)]
+ , Just n ))
+ ]
+
+ -- set the initial palette only with interface agent [_$_]
+ PD.superficialUpdateDocument (setPalette interfacePal) pDoc
+ setCurrentShape "interface" state
+
+ buildVisiblePalette state
+
+
hunk ./src/NetworkUI.hs 596
- ; repaintAll state
hunk ./src/NetworkUI.hs 598
- ; theFrame <- getNetworkFrame state
- ; openPaletteFile palette state (Just theFrame)
+ ; setInterfacePalette n state
+ ; repaintAll state
hunk ./src/NetworkUI.hs 853
- treeCtrlSelectItem tree rule
hunk ./src/NetworkUI.hs 854
+ treeCtrlSelectItem tree rule
hunk ./src/NetworkUI.hs 892
- $ "Already exists one rule with name «" ++ new [_$_]
- ++ "».\n Please choose a different identifier."
+ $ "Already exists one rule with name \"" ++ new [_$_]
+ ++ "\".\n Please choose a different identifier."
hunk ./src/NetworkUI.hs 954
+updateTreeSelection :: State g n e -> IO ()
+updateTreeSelection state =
+ do tree <- getTree state
+ root <- treeCtrlGetRootItem tree
+ selItem <- treeCtrlGetLastChild tree root
+ treeCtrlSelectItem tree selItem
hunk ./src/NetworkUI.hs 965
- tree <- getTree state
- delete <- confirmDialog frame "Rule deletion" msg yesDefault
+ pDoc <- getDocument state
+ doc <- PD.getDocument pDoc
+
+ if (1 == ) . length . rulesNames $ getRules doc [_$_]
+ then warningDialog frame "Removal forbidden" [_$_]
+ "You cannot remove the rule because it is the last one."
+ else do tree <- getTree state
+ delete <- confirmDialog frame "Rule deletion" msg yesDefault
hunk ./src/NetworkUI.hs 974
- when (delete) $ [_$_]
- do pDoc <- getDocument state
- PD.updateDocument ("remove rule " ++ ruleName) [_$_]
- (updateRules $ removeRule ruleName) pDoc
- treeCtrlDelete tree item [_$_]
+ when (delete) $ [_$_]
+ do treeCtrlDelete tree item [_$_]
+ updateTreeSelection state [_$_]
+
+ PD.updateDocument ("remove rule " ++ ruleName) [_$_]
+ (updateRules $ removeRule ruleName) pDoc
+ [_$_]
hunk ./src/NetworkUI.hs 982
- msg = "Are you sure you want to delete rule «" ++ ruleName ++ "» ?"
+ msg = "Are you sure you want to delete rule \"" ++ ruleName ++ "\" ?"
hunk ./src/NetworkUI.hs 1307
- then do { errorDialog diaW "Repeated agent name" $ "Already exists one agent with name «" ++ agentD ++ "». Choose a different one."
+ then do { errorDialog diaW "Repeated agent name" $ "Already exists one agent with name \"" ++ agentD ++ "\". Choose a different one."
}