68
68
from addons .mobileforms .items .connectedstringcombo .item import MobileFormItemConnectedStringComboFactory
69
69
from addons .mobileforms .items .map .item import MobileFormItemMapFactory
70
70
71
+ from javax .swing import JScrollPane
72
+ from javax .swing import JViewport
73
+
71
74
class TraceFunction (object ):
72
75
def __init__ (self , fn , name = None ):
73
76
self .__fn = fn
@@ -299,7 +302,8 @@ def setForm(self, form):
299
302
self .lstFormItems .getModel ().clear ()
300
303
self .pnlItem .removeAll ()
301
304
self .pnlItem .revalidate ()
302
-
305
+ self .tableSetVisible (self .tblPreviewForm ,False )
306
+
303
307
self .updateListOfFormItems (form )
304
308
305
309
if form != None :
@@ -312,6 +316,8 @@ def setForm(self, form):
312
316
self .cboForms .setEnabled (False )
313
317
self .cboForms .setSelectedIndex (index )
314
318
self .cboForms .setEnabled (True )
319
+ if not form .isEmpty ():
320
+ self .tableSetVisible (self .tblPreviewForm ,True )
315
321
316
322
def createFormItemAddPopup (self ):
317
323
popup = JPopupMenu ()
@@ -403,7 +409,8 @@ def lstPreviewForms_change(self, event):
403
409
if event .getValueIsAdjusting () :
404
410
return
405
411
form = self .lstPreviewForms .getSelectedValue ()
406
- if form == None :
412
+ if form == None or form .isEmpty ():
413
+ self .tableSetVisible (self .tblPreviewForm ,False )
407
414
return
408
415
model = DefaultTableModel ()
409
416
model .addColumn ("" )
@@ -419,9 +426,18 @@ def lstPreviewForms_change(self, event):
419
426
model .addColumn (TableColumn (0 ,100 ,renderer , editor ))
420
427
self .tblPreviewForm .setColumnModel (model )
421
428
self .tblPreviewForm .getTableHeader ().setUI (None )
422
- self .tblPreviewForm . setVisible ( True )
429
+ self .tableSetVisible ( self . tblPreviewForm , True )
423
430
self .cboForms .setSelectedItem (form )
424
-
431
+
432
+ def tableSetVisible (self , table , isVisible ):
433
+ parent = table .getParent ()
434
+ if isinstance (parent ,JViewport ):
435
+ parent = parent .getParent ()
436
+ if isinstance (parent ,JScrollPane ):
437
+ parent .setVisible (isVisible )
438
+ else :
439
+ table .setVisible (isVisible )
440
+
425
441
def btnFileOpen_click (self , * args ):
426
442
i18n = ToolsLocator .getI18nManager ()
427
443
f = openFileDialog (
0 commit comments