1import unittest 2from unittests import wtc 3import wx 4import random 5 6import os 7import wx.lib.agw.persist as PM 8 9#--------------------------------------------------------------------------- 10 11class lib_agw_persist_persistencemanager_Tests(wtc.WidgetTestCase): 12 13 def setUp(self): 14 super(lib_agw_persist_persistencemanager_Tests, self).setUp() 15 dirName = os.path.dirname(os.path.abspath(__file__)) 16 self._configFile1 = os.path.join(dirName, "PersistTest1") 17 18 19 def test_persistencemanagerCtor(self): 20 21 self._persistMgr = PM.PersistenceManager.Get() 22 self._persistMgr.SetManagerStyle(PM.PM_SAVE_RESTORE_AUI_PERSPECTIVES) 23 self._persistMgr.SetPersistenceFile(self._configFile1) 24 25 # give the frame a Name for below 26 self.frame.SetName('PersistTestFrame') 27 cb = wx.CheckBox(self.frame, name='PersistCheck') 28 cb.persistValue = True 29 cb.SetValue(False) 30 31 self._persistMgr.RegisterAndRestoreAll(self.frame) 32 33 self._persistMgr.SaveAndUnregister() 34 35 36 def test_persistencemanagerRestore(self): 37 38 self._persistMgr = PM.PersistenceManager.Get() 39 self._persistMgr.SetPersistenceFile(self._configFile1) 40 41 # give the frame a Name for below 42 self.frame.SetName('PersistTestFrame') 43 44 self._persistMgr.RegisterAndRestoreAll(self.frame) 45 46 self.assertEqual(self._persistMgr.HasRestored(), True, "Persistence should be there, as it was created in CTOR test.") 47 48 49 def test_persistencemanagerPersistValue(self): 50 51 self._persistMgr = PM.PersistenceManager.Get() 52 self._persistMgr.SetManagerStyle(PM.PM_SAVE_RESTORE_AUI_PERSPECTIVES) 53 self._persistMgr.SetPersistenceFile(self._configFile1) 54 55 # give the frame a Name for below 56 self.frame.SetName('PersistTestFrame') 57 cb = wx.CheckBox(self.frame, name='PersistCheck') 58 cb.persistValue = True 59 60 self._persistMgr.RegisterAndRestoreAll(self.frame) 61 62 self.assertEqual(self._persistMgr.HasRestored(), True, "Persistence should be there, as it was created in CTOR test.") 63 self.assertEqual(cb.GetValue(), False, "Should be False as set in CTOR test") 64 65 66 def test_persistencemanagerZZZZCleanup(self): 67 # Just clean up the test file used by the other tests... 68 # TODO: Fix these tests to be self-contained and to clean up after themselves 69 if os.path.exists(self._configFile1): 70 os.unlink(self._configFile1) 71 72 73 def test_persistencemanagerConstantsExist(self): 74 # PersistenceManager styles 75 PM.PM_SAVE_RESTORE_AUI_PERSPECTIVES 76 PM.PM_SAVE_RESTORE_TREE_LIST_SELECTIONS 77 PM.PM_PERSIST_CONTROL_VALUE 78 PM.PM_RESTORE_CAPTION_FROM_CODE 79 PM.PM_DEFAULT_STYLE 80 81 82 # String constants used by BookHandler 83 84 PM.PERSIST_BOOK_KIND 85 PM.PERSIST_BOOK_SELECTION 86 87 # To save and restore wx.lib.agw.aui.AuiNotebook perspectives 88 PM.PERSIST_BOOK_AGW_AUI_PERSPECTIVE 89 90 # ----------------------------------------------------------------------------------- # 91 # String constants used by TreebookHandler 92 93 PM.PERSIST_TREEBOOK_KIND 94 95 # this key contains the indices of all expanded nodes in the tree book 96 # separated by PERSIST_SEP 97 PM.PERSIST_TREEBOOK_EXPANDED_BRANCHES 98 PM.PERSIST_SEP 99 100 # ----------------------------------------------------------------------------------- # 101 # String constants used by TLWHandler 102 103 # we use just "Window" to keep configuration files and such short, there 104 # should be no confusion with wx.Window itself as we don't have persistent 105 # windows, just persistent controls which have their own specific kind strings 106 107 PM.PERSIST_TLW_KIND 108 109 # Names for various persistent options 110 PM.PERSIST_TLW_X 111 PM.PERSIST_TLW_Y 112 PM.PERSIST_TLW_W 113 PM.PERSIST_TLW_H 114 115 PM.PERSIST_TLW_MAXIMIZED 116 PM.PERSIST_TLW_ICONIZED 117 118 # To save and restore wx.aui and wx.lib.agw.aui perspectives 119 PM.PERSIST_AGW_AUI_PERSPECTIVE 120 PM.PERSIST_AUI_PERSPECTIVE 121 122 PM.PERSIST_AUIPERSPECTIVE_KIND 123 124 # ----------------------------------------------------------------------------------- # 125 # String constants used by CheckBoxHandler 126 127 PM.PERSIST_CHECKBOX_KIND 128 PM.PERSIST_CHECKBOX_3STATE 129 PM.PERSIST_CHECKBOX 130 131 # ----------------------------------------------------------------------------------- # 132 # String constants used by ListBoxHandler 133 134 PM.PERSIST_LISTBOX_KIND 135 PM.PERSIST_LISTBOX_SELECTIONS 136 137 # ----------------------------------------------------------------------------------- # 138 # String constants used by ListCtrlHandler 139 140 PM.PERSIST_LISTCTRL_KIND 141 PM.PERSIST_LISTCTRL_COLWIDTHS 142 143 # ----------------------------------------------------------------------------------- # 144 # String constants used by CheckListBoxHandler 145 146 PM.PERSIST_CHECKLISTBOX_KIND 147 PM.PERSIST_CHECKLIST_CHECKED 148 PM.PERSIST_CHECKLIST_SELECTIONS 149 150 # ----------------------------------------------------------------------------------- # 151 # String constants used by ChoiceComboHandler 152 153 PM.PERSIST_CHOICECOMBO_KIND 154 PM.PERSIST_CHOICECOMBO_SELECTION 155 156 # ----------------------------------------------------------------------------------- # 157 # String constants used by RadioBoxHandler 158 159 PM.PERSIST_RADIOBOX_KIND 160 PM.PERSIST_RADIOBOX_SELECTION 161 162 # ----------------------------------------------------------------------------------- # 163 # String constants used by RadioButtonHandler 164 165 PM.PERSIST_RADIOBUTTON_KIND 166 PM.PERSIST_RADIOBUTTON_VALUE 167 168 # ----------------------------------------------------------------------------------- # 169 # String constants used by ScrolledWindowHandler 170 171 PM.PERSIST_SCROLLEDWINDOW_KIND 172 PM.PERSIST_SCROLLEDWINDOW_POS_H 173 PM.PERSIST_SCROLLEDWINDOW_POS_V 174 175 # ----------------------------------------------------------------------------------- # 176 # String constants used by SliderHandler 177 178 PM.PERSIST_SLIDER_KIND 179 PM.PERSIST_SLIDER_VALUE 180 181 # ----------------------------------------------------------------------------------- # 182 # String constants used by SpinHandler 183 184 PM.PERSIST_SPIN_KIND 185 PM.PERSIST_SPIN_VALUE 186 187 # ----------------------------------------------------------------------------------- # 188 # String constants used by SplitterHandler 189 190 PM.PERSIST_SPLITTER_KIND 191 PM.PERSIST_SPLITTER_POSITION 192 193 # ----------------------------------------------------------------------------------- # 194 # String constants used by TextCtrlHandler 195 196 PM.PERSIST_TEXTCTRL_KIND 197 PM.PERSIST_TEXTCTRL_VALUE 198 199 # ----------------------------------------------------------------------------------- # 200 # String constants used by ToggleButtonHandler 201 202 PM.PERSIST_TOGGLEBUTTON_KIND 203 PM.PERSIST_TOGGLEBUTTON_TOGGLED 204 205 # ----------------------------------------------------------------------------------- # 206 # String constants used by TreeCtrlHandler 207 208 PM.PERSIST_TREECTRL_KIND 209 PM.PERSIST_TREECTRL_CHECKED_ITEMS 210 PM.PERSIST_TREECTRL_EXPANSION 211 PM.PERSIST_TREECTRL_SELECTIONS 212 213 # ----------------------------------------------------------------------------------- # 214 # String constants used by TreeListCtrlHandler 215 216 PM.PERSIST_TREELISTCTRL_KIND 217 PM.PERSIST_TREELISTCTRL_COLWIDTHS 218 219 # ----------------------------------------------------------------------------------- # 220 # String constants used by CalendarCtrlHandler 221 222 PM.PERSIST_CALENDAR_KIND 223 PM.PERSIST_CALENDAR_DATE 224 225 # ----------------------------------------------------------------------------------- # 226 # String constants used by CollapsiblePaneHandler 227 228 PM.PERSIST_COLLAPSIBLE_KIND 229 PM.PERSIST_COLLAPSIBLE_STATE 230 231 # ----------------------------------------------------------------------------------- # 232 # String constants used by DatePickerHandler 233 234 PM.PERSIST_DATEPICKER_KIND 235 PM.PERSIST_DATEPICKER_DATE 236 237 # ----------------------------------------------------------------------------------- # 238 # String constants used by MediaCtrlHandler 239 240 PM.PERSIST_MEDIA_KIND 241 242 PM.PERSIST_MEDIA_POS 243 PM.PERSIST_MEDIA_VOLUME 244 PM.PERSIST_MEDIA_RATE 245 246 # ----------------------------------------------------------------------------------- # 247 # String constants used by ColourPickerHandler 248 249 PM.PERSIST_COLOURPICKER_KIND 250 PM.PERSIST_COLOURPICKER_COLOUR 251 252 # ----------------------------------------------------------------------------------- # 253 # String constants used by FileDirPickerHandler 254 255 PM.PERSIST_FILEDIRPICKER_KIND 256 PM.PERSIST_FILEDIRPICKER_PATH 257 258 # ----------------------------------------------------------------------------------- # 259 # String constants used by FontPickerHandler 260 261 PM.PERSIST_FONTPICKER_KIND 262 PM.PERSIST_FONTPICKER_FONT 263 264 # ----------------------------------------------------------------------------------- # 265 # String constants used by FileHistoryHandler 266 267 PM.PERSIST_FILEHISTORY_KIND 268 PM.PERSIST_FILEHISTORY_PATHS 269 270 # ----------------------------------------------------------------------------------- # 271 # String constants used by FindReplaceHandler 272 273 PM.PERSIST_FINDREPLACE_KIND 274 PM.PERSIST_FINDREPLACE_FLAGS 275 PM.PERSIST_FINDREPLACE_SEARCH 276 PM.PERSIST_FINDREPLACE_REPLACE 277 278 # ----------------------------------------------------------------------------------- # 279 # String constants used by FontDialogHandler 280 281 PM.PERSIST_FONTDIALOG_KIND 282 PM.PERSIST_FONTDIALOG_EFFECTS 283 PM.PERSIST_FONTDIALOG_SYMBOLS 284 PM.PERSIST_FONTDIALOG_COLOUR 285 PM.PERSIST_FONTDIALOG_FONT 286 PM.PERSIST_FONTDIALOG_HELP 287 288 # ----------------------------------------------------------------------------------- # 289 # String constants used by ColourDialogHandler 290 291 PM.PERSIST_COLOURDIALOG_KIND 292 PM.PERSIST_COLOURDIALOG_COLOUR 293 PM.PERSIST_COLOURDIALOG_CHOOSEFULL 294 PM.PERSIST_COLOURDIALOG_CUSTOMCOLOURS 295 296 # ----------------------------------------------------------------------------------- # 297 # String constants used by ChoiceDialogHandler 298 299 PM.PERSIST_CHOICEDIALOG_KIND 300 PM.PERSIST_CHOICEDIALOG_SELECTIONS 301 302 # ----------------------------------------------------------------------------------- # 303 # String constants used by MenuBarHandler 304 305 PM.PERSIST_MENUBAR_KIND 306 PM.PERSIST_MENUBAR_CHECKRADIO_ITEMS 307 308 # ----------------------------------------------------------------------------------- # 309 # String constants used by ToolBarHandler 310 311 PM.PERSIST_TOOLBAR_KIND 312 PM.PERSIST_TOOLBAR_CHECKRADIO_ITEMS 313 314 # ----------------------------------------------------------------------------------- # 315 # String constants used by FoldPanelBarHandler 316 317 PM.PERSIST_FOLDPANELBAR_KIND 318 PM.PERSIST_FOLDPANELBAR_EXPANDED 319 320#--------------------------------------------------------------------------- 321 322if __name__ == '__main__': 323 unittest.main() 324