diff --git a/TermTk/TTkUiTools/properties/table.py b/TermTk/TTkUiTools/properties/table.py index e917bdb6..f7234fab 100644 --- a/TermTk/TTkUiTools/properties/table.py +++ b/TermTk/TTkUiTools/properties/table.py @@ -24,16 +24,24 @@ __all__ = ['TTkTableProperties'] from TermTk.TTkCore.constant import TTkK from TermTk.TTkWidgets.TTkModelView.table import TTkTable -from TermTk.TTkWidgets.TTkModelView.tablewidget import TTkTableWidget +from TermTk.TTkWidgets.TTkModelView.tablewidget import TTkTableWidget, TTkHeaderView TTkTableProperties = { 'properties' : { - 'H-Separator' : { + 'H Header' : { + 'init': {'name':'hHeader', 'type':bool } , + 'get': { 'cb':TTkHeaderView.isVisible, 'type':bool, 'fw_obj':lambda _obj: _obj.viewport().horizontalHeader() } , + 'set': { 'cb':TTkHeaderView.setVisible, 'type':bool, 'fw_obj':lambda _obj: _obj.viewport().horizontalHeader() } }, + 'V Header' : { + 'init': {'name':'vHeader', 'type':bool } , + 'get': { 'cb':TTkHeaderView.isVisible, 'type':bool, 'fw_obj':lambda _obj: _obj.viewport().verticalHeader() } , + 'set': { 'cb':TTkHeaderView.setVisible, 'type':bool, 'fw_obj':lambda _obj: _obj.viewport().verticalHeader() } }, + 'H Separator' : { 'init': {'name':'hSeparator', 'type':bool } , 'get': { 'cb':TTkTableWidget.hSeparatorVisibility, 'type':bool, 'fw_obj':TTkTable.viewport } , 'set': { 'cb':TTkTableWidget.setHSeparatorVisibility, 'type':bool, 'fw_obj':TTkTable.viewport } }, - 'V-Separator' : { + 'V Separator' : { 'init': {'name':'vSeparator', 'type':bool } , 'get': { 'cb':TTkTableWidget.vSeparatorVisibility, 'type':bool, 'fw_obj':TTkTable.viewport } , 'set': { 'cb':TTkTableWidget.setVSeparatorVisibility, 'type':bool, 'fw_obj':TTkTable.viewport } }, diff --git a/TermTk/TTkUiTools/uiloader.py b/TermTk/TTkUiTools/uiloader.py index 6cd4e478..317c46eb 100644 --- a/TermTk/TTkUiTools/uiloader.py +++ b/TermTk/TTkUiTools/uiloader.py @@ -75,6 +75,13 @@ class TTkUiLoader(): ''' return TTkUiLoader.loadDict(json.loads(text), baseWidget, kwargs) + def _convert_2_0_2_to_2_1_0(ui): + return { + "type": TTkUiSignature, + "version": "2.1.0", + "connections" : ui['connections'], + "tui": ui['tui'] } + def _convert_2_0_1_to_2_0_2(ui): return { "type": TTkUiSignature, @@ -122,10 +129,14 @@ class TTkUiLoader(): ui = TTkUiLoader._convert_2_0_1_to_2_0_2(ui) return TTkUiLoader._loadDict_2_0_2(ui, *args, **kwargs) + def _loadDict_2_0_2(ui, *args, **kwargs) -> None: + ui = TTkUiLoader._convert_2_0_2_to_2_1_0(ui) + return TTkUiLoader._loadDict_2_1_0(ui, *args, **kwargs) + @staticmethod - def _loadDict_2_0_2(ui, baseWidget:TTkWidget=None, args=None): + def _loadDict_2_1_0(ui, baseWidget:TTkWidget=None, args=None): if ( - ui['version'] != '2.0.2' or + ui['version'] != '2.1.0' or 'type' not in ui or ui['type'] != TTkUiSignature): TTkLog.error("Ui Format not valid") @@ -321,7 +332,8 @@ class TTkUiLoader(): '1.0.1' : TTkUiLoader._convert_1_0_1_to_2_0_0, '2.0.0' : TTkUiLoader._convert_2_0_0_to_2_0_2, '2.0.1' : TTkUiLoader._convert_2_0_1_to_2_0_2, - '2.0.2' : lambda x: x + '2.0.2' : TTkUiLoader._convert_2_0_2_to_2_1_0, + '2.1.0' : lambda x: x }.get(ui['version'], lambda x: x) return cb(ui) @@ -343,6 +355,7 @@ class TTkUiLoader(): '2.0.0' : TTkUiLoader._loadDict_2_0_0, '2.0.1' : TTkUiLoader._loadDict_2_0_1, '2.0.2' : TTkUiLoader._loadDict_2_0_2, + '2.1.0' : TTkUiLoader._loadDict_2_1_0, }.get(ui['version'], None) if cb: return cb(ui, baseWidget, kwargs) diff --git a/TermTk/TTkWidgets/TTkModelView/tablewidget.py b/TermTk/TTkWidgets/TTkModelView/tablewidget.py index 1bf27670..8602c3c3 100644 --- a/TermTk/TTkWidgets/TTkModelView/tablewidget.py +++ b/TermTk/TTkWidgets/TTkModelView/tablewidget.py @@ -307,8 +307,8 @@ class TTkTableWidget(TTkAbstractScrollView): self._snapshotId = 0 self._dataPadding = dataPadding self._sortingEnabled = sortingEnabled - self._showHSeparators = vSeparator - self._showVSeparators = hSeparator + self._showHSeparators = hSeparator + self._showVSeparators = vSeparator self._verticalHeader = TTkHeaderView(visible=vHeader) self._horizontallHeader = TTkHeaderView(visible=hHeader) self._selected = None diff --git a/setup.dumbPaintTool.py b/setup.dumbPaintTool.py index 306b6cd4..77094dd2 100644 --- a/setup.dumbPaintTool.py +++ b/setup.dumbPaintTool.py @@ -43,7 +43,7 @@ setup( package_data={'dumbPaintTool': ['tui/*']}, python_requires=">=3.9", install_requires=[ - 'pyTermTk>=0.40.0a1', + 'pyTermTk>=0.41.0a1', 'pyperclip', 'Pillow'], entry_points={ diff --git a/setup.ttkDesigner.py b/setup.ttkDesigner.py index 2861e669..a57293d5 100644 --- a/setup.ttkDesigner.py +++ b/setup.ttkDesigner.py @@ -39,7 +39,7 @@ setup( package_data={'ttkDesigner': ['tui/*']}, python_requires=">=3.9", install_requires=[ - 'pyTermTk>=0.40.0a1', + 'pyTermTk>=0.41.0a1', 'pyperclip', 'Pillow'], entry_points={ diff --git a/tools/ttkDesigner/app/designer.py b/tools/ttkDesigner/app/designer.py index 9bcd4740..31082596 100644 --- a/tools/ttkDesigner/app/designer.py +++ b/tools/ttkDesigner/app/designer.py @@ -223,7 +223,8 @@ class TTkDesigner(TTkAppTemplate): tui = self._windowEditor.dumpDict() connections = self._sigslotEditor.dumpDict() data = { - 'version':'2.0.0', + 'type': TTkUiSignature, + 'version':'2.1.0', 'tui':tui, 'connections':connections} TTkLog.debug(f"{len(pickle.dumps(data))=} {len(self._snapshot)=}") @@ -307,7 +308,8 @@ class TTkDesigner(TTkAppTemplate): tui = self._windowEditor.dumpDict() connections = self._sigslotEditor.dumpDict() data = { - 'version':'2.0.0', + 'type': TTkUiSignature, + 'version':'2.1.0', 'tui':tui, 'connections':connections} @@ -340,7 +342,8 @@ class TTkDesigner(TTkAppTemplate): # for line in jj.split('\n'): # TTkLog.debug(f"{line}") newUI = { - 'version':'2.0.0', + 'type': TTkUiSignature, + 'version':'2.1.0', 'tui':tui, 'connections':connections} jj = json.dumps(newUI, indent=1) @@ -456,7 +459,7 @@ class TTkDesigner(TTkAppTemplate): connections = self._sigslotEditor.dumpDict() newUI = { 'type': TTkUiSignature, - 'version':'2.0.2', + 'version':'2.1.0', 'tui':tui, 'connections':connections} jj = json.dumps(newUI, indent=1) diff --git a/tools/ttkDesigner/app/superobj/superwidget.py b/tools/ttkDesigner/app/superobj/superwidget.py index bda16e7c..fb83ffa7 100644 --- a/tools/ttkDesigner/app/superobj/superwidget.py +++ b/tools/ttkDesigner/app/superobj/superwidget.py @@ -121,7 +121,8 @@ class SuperWidget(ttk.TTkContainer): ttkClass = getattr(ttk,widProp['class']) if issubclass(ttkClass,ttk.TTkLayout): demiProp = { - 'version':'2.0.0', + 'type': ttk.TTkUiSignature, + 'version':'2.1.0', 'tui':{ 'class' : widProp['class'], 'params' : widProp['params'], @@ -149,7 +150,8 @@ class SuperWidget(ttk.TTkContainer): 'menuBar': widProp['menuBar'] } if setMenuBar else {} demiProp = { - 'version':'2.0.0', + 'type': ttk.TTkUiSignature, + 'version':'2.1.0', 'tui': tui, 'connections':[] } @@ -163,7 +165,8 @@ class SuperWidget(ttk.TTkContainer): 'class' : widProp['class'], 'params' : widProp['params'] } demiProp = { - 'version':'2.0.0', + 'type': ttk.TTkUiSignature, + 'version':'2.1.0', 'tui': tui, 'connections':[] }