|
@@ -29,10 +29,10 @@ from dbm_base import VectorDBInfo
|
|
|
|
|
|
class DisplayAttributesDialog(wx.Dialog):
|
|
|
def __init__(self, parent, map,
|
|
|
- query=None, cats=None, line=None,
|
|
|
- style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER,
|
|
|
- pos=wx.DefaultPosition,
|
|
|
- action="add"):
|
|
|
+ query = None, cats = None, line = None,
|
|
|
+ style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER,
|
|
|
+ pos = wx.DefaultPosition,
|
|
|
+ action = "add"):
|
|
|
"""!Standard dialog used to add/update/display attributes linked
|
|
|
to the vector map.
|
|
|
|
|
@@ -67,39 +67,41 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
label = _("Database connection "
|
|
|
"is not defined in DB file.")
|
|
|
|
|
|
- wx.MessageBox(parent=self.parent,
|
|
|
- message=_("No attribute table linked to "
|
|
|
+ wx.MessageBox(parent = self.parent,
|
|
|
+ message = _("No attribute table linked to "
|
|
|
"vector map <%(vector)s> found. %(msg)s"
|
|
|
"\nYou can disable this message from digitization settings. Or "
|
|
|
"you can create and link attribute table to the vector map "
|
|
|
"using Attribute Table Manager.") %
|
|
|
{'vector' : self.map, 'msg' : label},
|
|
|
- caption=_("Message"), style=wx.OK | wx.ICON_EXCLAMATION | wx.CENTRE)
|
|
|
+ caption = _("Message"), style = wx.OK | wx.ICON_EXCLAMATION | wx.CENTRE)
|
|
|
self.mapDBInfo = None
|
|
|
|
|
|
- wx.Dialog.__init__(self, parent=self.parent, id=wx.ID_ANY,
|
|
|
- title="", style=style, pos=pos)
|
|
|
+ wx.Dialog.__init__(self, parent = self.parent, id = wx.ID_ANY,
|
|
|
+ title = "", style = style, pos = pos)
|
|
|
|
|
|
# dialog body
|
|
|
mainSizer = wx.BoxSizer(wx.VERTICAL)
|
|
|
|
|
|
# notebook
|
|
|
- self.notebook = wx.Notebook(parent=self, id=wx.ID_ANY, style=wx.BK_DEFAULT)
|
|
|
+ self.notebook = wx.Notebook(parent = self, id = wx.ID_ANY, style = wx.BK_DEFAULT)
|
|
|
|
|
|
- self.closeDialog = wx.CheckBox(parent=self, id=wx.ID_ANY,
|
|
|
- label=_("Close dialog on submit"))
|
|
|
+ self.closeDialog = wx.CheckBox(parent = self, id = wx.ID_ANY,
|
|
|
+ label = _("Close dialog on submit"))
|
|
|
self.closeDialog.SetValue(True)
|
|
|
-
|
|
|
+ if self.action == 'display':
|
|
|
+ self.closeDialog.Enable(False)
|
|
|
+
|
|
|
# feature id (text/choice for duplicates)
|
|
|
- self.fidMulti = wx.Choice(parent=self, id=wx.ID_ANY,
|
|
|
- size=(150, -1))
|
|
|
+ self.fidMulti = wx.Choice(parent = self, id = wx.ID_ANY,
|
|
|
+ size = (150, -1))
|
|
|
self.fidMulti.Bind(wx.EVT_CHOICE, self.OnFeature)
|
|
|
- self.fidText = wx.StaticText(parent=self, id=wx.ID_ANY)
|
|
|
+ self.fidText = wx.StaticText(parent = self, id = wx.ID_ANY)
|
|
|
|
|
|
- self.noFoundMsg = wx.StaticText(parent=self, id=wx.ID_ANY,
|
|
|
- label=_("No attributes found"))
|
|
|
+ self.noFoundMsg = wx.StaticText(parent = self, id = wx.ID_ANY,
|
|
|
+ label = _("No attributes found"))
|
|
|
|
|
|
- self.UpdateDialog(query=query, cats=cats)
|
|
|
+ self.UpdateDialog(query = query, cats = cats)
|
|
|
|
|
|
# set title
|
|
|
if self.action == "update":
|
|
@@ -113,7 +115,9 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
btnCancel = wx.Button(self, wx.ID_CANCEL)
|
|
|
btnReset = wx.Button(self, wx.ID_UNDO, _("&Reload"))
|
|
|
btnSubmit = wx.Button(self, wx.ID_OK, _("&Submit"))
|
|
|
-
|
|
|
+ if self.action == 'display':
|
|
|
+ btnSubmit.Enable(False)
|
|
|
+
|
|
|
btnSizer = wx.StdDialogButtonSizer()
|
|
|
btnSizer.AddButton(btnCancel)
|
|
|
btnSizer.AddButton(btnReset)
|
|
@@ -122,25 +126,25 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
btnSizer.AddButton(btnSubmit)
|
|
|
btnSizer.Realize()
|
|
|
|
|
|
- mainSizer.Add(item=self.noFoundMsg, proportion=0,
|
|
|
- flag=wx.EXPAND | wx.ALL, border=5)
|
|
|
- mainSizer.Add(item=self.notebook, proportion=1,
|
|
|
- flag=wx.EXPAND | wx.ALL, border=5)
|
|
|
+ mainSizer.Add(item = self.noFoundMsg, proportion = 0,
|
|
|
+ flag = wx.EXPAND | wx.ALL, border = 5)
|
|
|
+ mainSizer.Add(item = self.notebook, proportion = 1,
|
|
|
+ flag = wx.EXPAND | wx.ALL, border = 5)
|
|
|
fidSizer = wx.BoxSizer(wx.HORIZONTAL)
|
|
|
- fidSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
|
|
|
- label=_("Feature id:")),
|
|
|
- proportion=0, border=5,
|
|
|
- flag=wx.ALIGN_CENTER_VERTICAL)
|
|
|
- fidSizer.Add(item=self.fidMulti, proportion=0,
|
|
|
- flag=wx.EXPAND | wx.ALL, border=5)
|
|
|
- fidSizer.Add(item=self.fidText, proportion=0,
|
|
|
- flag=wx.EXPAND | wx.ALL, border=5)
|
|
|
- mainSizer.Add(item=fidSizer, proportion=0,
|
|
|
- flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
|
|
|
- mainSizer.Add(item=self.closeDialog, proportion=0, flag=wx.EXPAND | wx.LEFT | wx.RIGHT,
|
|
|
- border=5)
|
|
|
- mainSizer.Add(item=btnSizer, proportion=0,
|
|
|
- flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
|
|
|
+ fidSizer.Add(item = wx.StaticText(parent = self, id = wx.ID_ANY,
|
|
|
+ label = _("Feature id:")),
|
|
|
+ proportion = 0, border = 5,
|
|
|
+ flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ fidSizer.Add(item = self.fidMulti, proportion = 0,
|
|
|
+ flag = wx.EXPAND | wx.ALL, border = 5)
|
|
|
+ fidSizer.Add(item = self.fidText, proportion = 0,
|
|
|
+ flag = wx.EXPAND | wx.ALL, border = 5)
|
|
|
+ mainSizer.Add(item = fidSizer, proportion = 0,
|
|
|
+ flag = wx.EXPAND | wx.LEFT | wx.RIGHT, border = 5)
|
|
|
+ mainSizer.Add(item = self.closeDialog, proportion = 0, flag = wx.EXPAND | wx.LEFT | wx.RIGHT,
|
|
|
+ border = 5)
|
|
|
+ mainSizer.Add(item = btnSizer, proportion = 0,
|
|
|
+ flag = wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border = 5)
|
|
|
|
|
|
# bindigs
|
|
|
btnReset.Bind(wx.EVT_BUTTON, self.OnReset)
|
|
@@ -160,7 +164,7 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
if self.notebook.GetPageCount() == 0:
|
|
|
Debug.msg(2, "DisplayAttributesDialog(): Nothing found!")
|
|
|
### self.mapDBInfo = None
|
|
|
-
|
|
|
+
|
|
|
def __SelectAttributes(self, layer):
|
|
|
"""!Select attributes"""
|
|
|
pass
|
|
@@ -169,7 +173,15 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
"""!Update SQL statement"""
|
|
|
pass
|
|
|
|
|
|
- def GetSQLString(self, updateValues=False):
|
|
|
+ def IsFound(self):
|
|
|
+ """!Check for status
|
|
|
+
|
|
|
+ @return True on attributes found
|
|
|
+ @return False attributes not found
|
|
|
+ """
|
|
|
+ return bool(self.notebook.GetPageCount())
|
|
|
+
|
|
|
+ def GetSQLString(self, updateValues = False):
|
|
|
"""!Create SQL statement string based on self.sqlStatement
|
|
|
|
|
|
If updateValues is True, update dataFrame according to values
|
|
@@ -267,7 +279,8 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
"""!Cancel button pressed
|
|
|
"""
|
|
|
self.parent.parent.dialogs['attributes'] = None
|
|
|
- if self.parent.digit:
|
|
|
+
|
|
|
+ if hasattr(self, "digit"):
|
|
|
self.parent.digit.GetDisplay().SetSelected([])
|
|
|
self.parent.UpdateMap(render = False)
|
|
|
else:
|
|
@@ -277,8 +290,8 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
|
|
|
def OnSubmit(self, event):
|
|
|
"""!Submit records"""
|
|
|
- for sql in self.GetSQLString(updateValues=True):
|
|
|
- enc = UserSettings.Get(group='atm', key='encoding', subkey='value')
|
|
|
+ for sql in self.GetSQLString(updateValues = True):
|
|
|
+ enc = UserSettings.Get(group = 'atm', key = 'encoding', subkey = 'value')
|
|
|
if not enc and 'GRASS_DB_ENCODING' in os.environ:
|
|
|
enc = os.environ['GRASS_DB_ENCODING']
|
|
|
if enc:
|
|
@@ -294,7 +307,7 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
|
|
|
def OnFeature(self, event):
|
|
|
self.fid = int(event.GetString())
|
|
|
- self.UpdateDialog(cats=self.cats, fid=self.fid)
|
|
|
+ self.UpdateDialog(cats = self.cats, fid = self.fid)
|
|
|
|
|
|
def GetCats(self):
|
|
|
"""!Get id of selected vector object or 'None' if nothing selected
|
|
@@ -310,11 +323,28 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
"""!Get selected feature id"""
|
|
|
return self.fid
|
|
|
|
|
|
- def UpdateDialog(self, map=None, query=None, cats=None, fid=-1):
|
|
|
+ def UpdateDialog(self, map = None, query = None, cats = None, fid = -1,
|
|
|
+ action = None):
|
|
|
"""!Update dialog
|
|
|
-
|
|
|
- Return True if updated otherwise False
|
|
|
+
|
|
|
+ @param map name of vector map
|
|
|
+ @param query
|
|
|
+ @param cats
|
|
|
+ @param fid feature id
|
|
|
+ @param action add, update, display or None
|
|
|
+
|
|
|
+ @return True if updated
|
|
|
+ @return False
|
|
|
"""
|
|
|
+ if action:
|
|
|
+ self.action = action
|
|
|
+ if action == 'display':
|
|
|
+ enabled = False
|
|
|
+ else:
|
|
|
+ enabled = True
|
|
|
+ self.closeDialog.Enable(enabled)
|
|
|
+ self.FindWindowById(wx.ID_OK).Enable(enabled)
|
|
|
+
|
|
|
if map:
|
|
|
self.map = map
|
|
|
# get layer/table/column information
|
|
@@ -322,11 +352,11 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
|
|
|
if not self.mapDBInfo:
|
|
|
return False
|
|
|
-
|
|
|
+
|
|
|
self.mapDBInfo.Reset()
|
|
|
-
|
|
|
+
|
|
|
layers = self.mapDBInfo.layers.keys() # get available layers
|
|
|
-
|
|
|
+
|
|
|
# id of selected line
|
|
|
if query: # select by position
|
|
|
data = self.mapDBInfo.SelectByPoint(query[0],
|
|
@@ -349,7 +379,7 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
idx += 1
|
|
|
else:
|
|
|
self.cats = cats
|
|
|
-
|
|
|
+
|
|
|
if fid > 0:
|
|
|
self.fid = fid
|
|
|
elif len(self.cats.keys()) > 0:
|
|
@@ -375,21 +405,21 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
|
|
|
# reset notebook
|
|
|
self.notebook.DeleteAllPages()
|
|
|
-
|
|
|
+
|
|
|
for layer in layers: # for each layer
|
|
|
if not query: # select by layer/cat
|
|
|
if self.fid > 0 and layer in self.cats[self.fid]:
|
|
|
for cat in self.cats[self.fid][layer]:
|
|
|
nselected = self.mapDBInfo.SelectFromTable(layer,
|
|
|
- where="%s=%d" % \
|
|
|
+ where = "%s=%d" % \
|
|
|
(self.mapDBInfo.layers[layer]['key'],
|
|
|
cat))
|
|
|
else:
|
|
|
nselected = 0
|
|
|
-
|
|
|
+
|
|
|
# if nselected <= 0 and self.action != "add":
|
|
|
# continue # nothing selected ...
|
|
|
-
|
|
|
+
|
|
|
if self.action == "add":
|
|
|
if nselected <= 0:
|
|
|
if layer in self.cats[self.fid]:
|
|
@@ -416,17 +446,17 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
break
|
|
|
|
|
|
# use scrolled panel instead (and fix initial max height of the window to 480px)
|
|
|
- panel = scrolled.ScrolledPanel(parent=self.notebook, id=wx.ID_ANY,
|
|
|
- size=(-1, 150))
|
|
|
- panel.SetupScrolling(scroll_x=False)
|
|
|
+ panel = scrolled.ScrolledPanel(parent = self.notebook, id = wx.ID_ANY,
|
|
|
+ size = (-1, 150))
|
|
|
+ panel.SetupScrolling(scroll_x = False)
|
|
|
|
|
|
- self.notebook.AddPage(page=panel, text=" %s %d / %s %d" % (_("Layer"), layer,
|
|
|
+ self.notebook.AddPage(page = panel, text = " %s %d / %s %d" % (_("Layer"), layer,
|
|
|
_("Category"), cat))
|
|
|
-
|
|
|
+
|
|
|
# notebook body
|
|
|
border = wx.BoxSizer(wx.VERTICAL)
|
|
|
-
|
|
|
- flexSizer = wx.FlexGridSizer (cols=4, hgap=3, vgap=3)
|
|
|
+
|
|
|
+ flexSizer = wx.FlexGridSizer (cols = 4, hgap = 3, vgap = 3)
|
|
|
flexSizer.AddGrowableCol(3)
|
|
|
# columns (sorted by index)
|
|
|
names = [''] * len(columns.keys())
|
|
@@ -446,34 +476,35 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
value = columns[name]['values'][idx]
|
|
|
else:
|
|
|
value = ''
|
|
|
-
|
|
|
- colName = wx.StaticText(parent=panel, id=wx.ID_ANY,
|
|
|
- label=name)
|
|
|
- colType = wx.StaticText(parent=panel, id=wx.ID_ANY,
|
|
|
- label="[" + vtype.lower() + "]")
|
|
|
- delimiter = wx.StaticText(parent=panel, id=wx.ID_ANY, label=":")
|
|
|
|
|
|
- colValue = wx.TextCtrl(parent=panel, id=wx.ID_ANY, value=value)
|
|
|
+ colName = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
+ label = name)
|
|
|
+ colType = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
+ label = "[" + vtype.lower() + "]")
|
|
|
+ delimiter = wx.StaticText(parent = panel, id = wx.ID_ANY, label = ":")
|
|
|
|
|
|
+ colValue = wx.TextCtrl(parent = panel, id = wx.ID_ANY, value = value)
|
|
|
colValue.SetName(name)
|
|
|
self.Bind(wx.EVT_TEXT, self.OnSQLStatement, colValue)
|
|
|
+ if self.action == 'display':
|
|
|
+ colValue.SetWindowStyle(wx.TE_READONLY)
|
|
|
|
|
|
- flexSizer.Add(colName, proportion=0,
|
|
|
- flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
|
|
|
- flexSizer.Add(colType, proportion=0,
|
|
|
- flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
|
|
|
- flexSizer.Add(delimiter, proportion=0,
|
|
|
- flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
|
|
|
- flexSizer.Add(colValue, proportion=1,
|
|
|
- flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ flexSizer.Add(colName, proportion = 0,
|
|
|
+ flag = wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ flexSizer.Add(colType, proportion = 0,
|
|
|
+ flag = wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ flexSizer.Add(delimiter, proportion = 0,
|
|
|
+ flag = wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ flexSizer.Add(colValue, proportion = 1,
|
|
|
+ flag = wx.EXPAND | wx.ALIGN_CENTER_VERTICAL)
|
|
|
# add widget reference to self.columns
|
|
|
columns[name]['ids'].append(colValue.GetId()) # name, type, values, id
|
|
|
# for each attribute (including category) END
|
|
|
- border.Add(item=flexSizer, proportion=1, flag=wx.ALL | wx.EXPAND, border=5)
|
|
|
+ border.Add(item = flexSizer, proportion = 1, flag = wx.ALL | wx.EXPAND, border = 5)
|
|
|
panel.SetSizer(border)
|
|
|
# for each category END
|
|
|
# for each layer END
|
|
|
-
|
|
|
+
|
|
|
if self.notebook.GetPageCount() == 0:
|
|
|
self.noFoundMsg.Show(True)
|
|
|
else:
|
|
@@ -498,8 +529,8 @@ class DisplayAttributesDialog(wx.Dialog):
|
|
|
break
|
|
|
|
|
|
class ModifyTableRecord(wx.Dialog):
|
|
|
- def __init__(self, parent, id, title, data, keyEditable=(-1, True),
|
|
|
- style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
|
|
|
+ def __init__(self, parent, id, title, data, keyEditable = (-1, True),
|
|
|
+ style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
|
|
|
"""!Dialog for inserting/updating table record
|
|
|
|
|
|
Notes:
|
|
@@ -508,25 +539,25 @@ class ModifyTableRecord(wx.Dialog):
|
|
|
is editable(True) or not.
|
|
|
"""
|
|
|
# parent -> VDigitWindow
|
|
|
- wx.Dialog.__init__(self, parent, id, title, style=style)
|
|
|
+ wx.Dialog.__init__(self, parent, id, title, style = style)
|
|
|
|
|
|
self.CenterOnParent()
|
|
|
|
|
|
self.keyId = keyEditable[0]
|
|
|
|
|
|
- self.panel = wx.Panel(parent=self, id=wx.ID_ANY)
|
|
|
+ self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
|
|
|
|
|
|
- box = wx.StaticBox(parent=self.panel, id=wx.ID_ANY, label='')
|
|
|
+ box = wx.StaticBox(parent = self.panel, id = wx.ID_ANY, label = '')
|
|
|
|
|
|
- self.dataPanel = scrolled.ScrolledPanel(parent=self.panel, id=wx.ID_ANY,
|
|
|
- style=wx.TAB_TRAVERSAL)
|
|
|
- self.dataPanel.SetupScrolling(scroll_x=False)
|
|
|
+ self.dataPanel = scrolled.ScrolledPanel(parent = self.panel, id = wx.ID_ANY,
|
|
|
+ style = wx.TAB_TRAVERSAL)
|
|
|
+ self.dataPanel.SetupScrolling(scroll_x = False)
|
|
|
|
|
|
#
|
|
|
# buttons
|
|
|
#
|
|
|
self.btnCancel = wx.Button(self.panel, wx.ID_CANCEL)
|
|
|
- self.btnSubmit = wx.Button(self.panel, wx.ID_OK, _("Submit"))
|
|
|
+ self.btnSubmit = wx.Button(self.panel, wx.ID_OK, _("&Submit"))
|
|
|
self.btnSubmit.SetDefault()
|
|
|
|
|
|
#
|
|
@@ -546,14 +577,14 @@ class ModifyTableRecord(wx.Dialog):
|
|
|
id += 1
|
|
|
continue
|
|
|
else:
|
|
|
- valueWin = wx.SpinCtrl(parent=self.dataPanel, id=wx.ID_ANY,
|
|
|
- value=value, min=-1e9, max=1e9, size=(250, -1))
|
|
|
+ valueWin = wx.SpinCtrl(parent = self.dataPanel, id = wx.ID_ANY,
|
|
|
+ value = value, min = -1e9, max = 1e9, size = (250, -1))
|
|
|
else:
|
|
|
- valueWin = wx.TextCtrl(parent=self.dataPanel, id=wx.ID_ANY,
|
|
|
- value=value, size=(250, -1))
|
|
|
+ valueWin = wx.TextCtrl(parent = self.dataPanel, id = wx.ID_ANY,
|
|
|
+ value = value, size = (250, -1))
|
|
|
|
|
|
- label = wx.StaticText(parent=self.dataPanel, id=wx.ID_ANY,
|
|
|
- label=column + ":")
|
|
|
+ label = wx.StaticText(parent = self.dataPanel, id = wx.ID_ANY,
|
|
|
+ label = column + ":")
|
|
|
|
|
|
self.widgets.append((label.GetId(),
|
|
|
valueWin.GetId()))
|
|
@@ -561,38 +592,31 @@ class ModifyTableRecord(wx.Dialog):
|
|
|
id += 1
|
|
|
|
|
|
self.__Layout()
|
|
|
-
|
|
|
- # winSize = self.GetSize()
|
|
|
- # fix height of window frame if needed
|
|
|
- # if winSize[1] > 480:
|
|
|
- # winSize[1] = 480
|
|
|
- # self.SetSize(winSize)
|
|
|
- # self.SetMinSize(winSize)
|
|
|
-
|
|
|
+
|
|
|
def __Layout(self):
|
|
|
"""!Do layout"""
|
|
|
sizer = wx.BoxSizer(wx.VERTICAL)
|
|
|
|
|
|
# data area
|
|
|
- dataSizer = wx.FlexGridSizer (cols=2, hgap=3, vgap=3)
|
|
|
+ dataSizer = wx.FlexGridSizer (cols = 2, hgap = 3, vgap = 3)
|
|
|
dataSizer.AddGrowableCol(1)
|
|
|
|
|
|
for labelId, valueId in self.widgets:
|
|
|
label = self.FindWindowById(labelId)
|
|
|
value = self.FindWindowById(valueId)
|
|
|
|
|
|
- dataSizer.Add(label, proportion=0,
|
|
|
- flag=wx.ALIGN_CENTER_VERTICAL)
|
|
|
- dataSizer.Add(value, proportion=0,
|
|
|
- flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ dataSizer.Add(label, proportion = 0,
|
|
|
+ flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ dataSizer.Add(value, proportion = 0,
|
|
|
+ flag = wx.EXPAND | wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
self.dataPanel.SetAutoLayout(True)
|
|
|
self.dataPanel.SetSizer(dataSizer)
|
|
|
dataSizer.Fit(self.dataPanel)
|
|
|
|
|
|
if self.usebox:
|
|
|
- self.boxSizer.Add(item=self.dataPanel, proportion=1,
|
|
|
- flag=wx.EXPAND | wx.ALL, border=5)
|
|
|
+ self.boxSizer.Add(item = self.dataPanel, proportion = 1,
|
|
|
+ flag = wx.EXPAND | wx.ALL, border = 5)
|
|
|
|
|
|
# buttons
|
|
|
btnSizer = wx.StdDialogButtonSizer()
|
|
@@ -601,15 +625,15 @@ class ModifyTableRecord(wx.Dialog):
|
|
|
btnSizer.Realize()
|
|
|
|
|
|
if not self.usebox:
|
|
|
- sizer.Add(item=self.dataPanel, proportion=1,
|
|
|
- flag=wx.EXPAND | wx.ALL, border=5)
|
|
|
+ sizer.Add(item = self.dataPanel, proportion = 1,
|
|
|
+ flag = wx.EXPAND | wx.ALL, border = 5)
|
|
|
else:
|
|
|
- sizer.Add(item=self.boxSizer, proportion=1,
|
|
|
- flag=wx.EXPAND | wx.ALL, border=5)
|
|
|
+ sizer.Add(item = self.boxSizer, proportion = 1,
|
|
|
+ flag = wx.EXPAND | wx.ALL, border = 5)
|
|
|
|
|
|
|
|
|
- sizer.Add(item=btnSizer, proportion=0,
|
|
|
- flag=wx.EXPAND | wx.ALL, border=5)
|
|
|
+ sizer.Add(item = btnSizer, proportion = 0,
|
|
|
+ flag = wx.EXPAND | wx.ALL, border = 5)
|
|
|
|
|
|
framewidth = self.GetSize()[0]
|
|
|
self.SetMinSize((framewidth,150))
|
|
@@ -622,27 +646,7 @@ class ModifyTableRecord(wx.Dialog):
|
|
|
|
|
|
self.Layout()
|
|
|
|
|
|
-# # set window frame size (min & max)
|
|
|
-# minFrameHeight = 150
|
|
|
-# maxFrameHeight = 2 * minFrameHeight
|
|
|
-# if self.GetSize()[1] > minFrameHeight:
|
|
|
-# print 'size ='+str(self.GetSize()[1])
|
|
|
-# print 'if 1'
|
|
|
-# self.SetMinSize((self.GetSize()[0], minFrameHeight))
|
|
|
-# else:
|
|
|
-# print 'else 1'
|
|
|
-# self.SetMinSize(self.GetSize())
|
|
|
-
|
|
|
-# if self.GetSize()[1] > maxFrameHeight:
|
|
|
-# print 'if 2'
|
|
|
-# self.SetSize((self.GetSize()[0], maxFrameHeight))
|
|
|
-# else:
|
|
|
-# print 'else 2'
|
|
|
-# self.SetSize(self.panel.GetSize())
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- def GetValues(self, columns=None):
|
|
|
+ def GetValues(self, columns = None):
|
|
|
"""!Return list of values (casted to string).
|
|
|
|
|
|
If columns is given (list), return only values of given columns.
|