def __init__(self, parent, log, data=None, model=None): self.log = log wx.Panel.__init__(self, parent, -1) # Create a dataview control self.dvc = dv.DataViewCtrl(self, style=wx.BORDER_THEME | dv.DV_ROW_LINES # nice alternating bg colors #| dv.DV_HORIZ_RULES | dv.DV_VERT_RULES | dv.DV_MULTIPLE ) # Create an instance of our model... if model is None: self.model = MyTreeListModel(data, log) else: self.model = model # Tel the DVC to use the model self.dvc.AssociateModel(self.model) # Define the columns that we want in the view. Notice the # parameter which tells the view which col in the data model to pull # values from for each view column. if 1: self.tr = tr = dv.DataViewTextRenderer() c0 = dv.DataViewColumn("Genre", # title tr, # renderer 0, # data model column width=80) self.dvc.AppendColumn(c0) else: self.dvc.AppendTextColumn("Genre", 0, width=80) c1 = self.dvc.AppendTextColumn("Artist", 1, width=170, mode=dv.DATAVIEW_CELL_EDITABLE) c2 = self.dvc.AppendTextColumn("Title", 2, width=260, mode=dv.DATAVIEW_CELL_EDITABLE) c3 = self.dvc.AppendDateColumn('Acquired', 4, width=100, mode=dv.DATAVIEW_CELL_ACTIVATABLE) c4 = self.dvc.AppendToggleColumn('Like', 5, width=40, mode=dv.DATAVIEW_CELL_ACTIVATABLE) # Notice how we pull the data from col 3, but this is the 6th col # added to the DVC. The order of the view columns is not dependent on # the order of the model columns at all. c5 = self.dvc.AppendTextColumn("id", 3, width=40, mode=dv.DATAVIEW_CELL_EDITABLE) c5.Alignment = wx.ALIGN_RIGHT # Set some additional attributes for all the columns for c in self.dvc.Columns: c.Sortable = True c.Reorderable = True self.Sizer = wx.BoxSizer(wx.VERTICAL) self.Sizer.Add(self.dvc, 1, wx.EXPAND) b1 = wx.Button(self, label="New View", name="newView") self.Bind(wx.EVT_BUTTON, self.OnNewView, b1) self.Sizer.Add(b1, 0, wx.ALL, 5)
def initialize(self, cb_wallet): self.GOOD_BMP = Bitmap(file_path("gui/good.bmp")) self.BAD_BMP = Bitmap(file_path("gui/bad.bmp")) self.m_choice_nwords.Set(WORDSLEN_LIST) self.m_choice_nwords.SetSelection(0) ctab = self.m_dataViewListCtrl1 dv1 = dataview.DataViewColumn("Name", dataview.DataViewTextRenderer(), 0) dv1.SetWidth(125) ctab.AppendColumn(dv1) dv2 = dataview.DataViewColumn("Account", dataview.DataViewTextRenderer(), 1) dv2.SetWidth(372) ctab.AppendColumn(dv2) dv3 = dataview.DataViewColumn("Balance", dataview.DataViewTextRenderer(), 2) dv3.SetWidth(86) ctab.AppendColumn(dv3) self.cb_wallet = cb_wallet
def init_dvc(self, results): data = dict() for r in results: v_result = ViewResult(r) for i in r.iterations: v_iteration = ViewIteration(i, r) v_result.iterations.append(v_iteration) data[r.name] = v_result data = data.values() # Create an instance of our model... self.model = MyTreeListModel(data) self.data = data # Tel the DVC to use the model self.dvc.AssociateModel(self.model) # Define the columns that we want in the view. Notice the # parameter which tells the view which col in the data model to pull # values from for each view column. self.tr = tr = dv.DataViewTextRenderer() tr.EnableEllipsize() tr.SetAlignment(0) c0 = dv.DataViewColumn( L('VIEW_OPTION_RESULTS'), # title tr, # renderer 0, # data model column width=200) self.dvc.AppendColumn(c0) c1 = self.dvc.AppendTextColumn(L('VIEW_ITERATION_F_R'), 1, width=200) c1.Alignment = wx.ALIGN_CENTRE self.dvc.AppendToggleColumn(L('VIEW_ITERATION_OPTION'), 2, width=20, mode=dv.DATAVIEW_CELL_ACTIVATABLE) # Set some additional attributes for all the columns for c in self.dvc.Columns: c.Sortable = True c.Reorderable = True for node in self.model.getParentItem(): self.dvc.Expand(node)
def __init__(self, parent, log, files_name_text, select_list, input_file_name, model_excel_name, data=None, model=None): self.log = log wx.Panel.__init__(self, parent, -1) self.files_name_text = files_name_text self.input_file_name = input_file_name self.model_excel_name = model_excel_name # Create a dataview control self.dvc = dv.DataViewCtrl( self, style=wx.BORDER_THEME | dv.DV_ROW_LINES # nice alternating bg colors #| dv.DV_HORIZ_RULES | dv.DV_VERT_RULES | dv.DV_MULTIPLE) # Create an instance of our model... if model is None: self.model = MyTreeListModel(data, log) else: self.model = model # Tel the DVC to use the model self.dvc.AssociateModel(self.model) # Define the columns that we want in the view. Notice the # parameter which tells the view which col in the data model to pull # values from for each view column. if 0: self.tr = tr = dv.DataViewTextRenderer() c0 = dv.DataViewColumn( "Genre", # title tr, # renderer 0, # data model column width=80) self.dvc.AppendColumn(c0) else: self.dvc.AppendTextColumn("File name", 0, width=250) #c1 = self.dvc.AppendTextColumn("Artist", 1, width=170, mode=dv.DATAVIEW_CELL_EDITABLE) c2 = self.dvc.AppendTextColumn("Title", 2, width=80, mode=dv.DATAVIEW_CELL_EDITABLE) #c3 = self.dvc.AppendDateColumn('index', 4, width=100, mode=dv.DATAVIEW_CELL_ACTIVATABLE) c4 = self.dvc.AppendToggleColumn('select', 5, width=40, mode=dv.DATAVIEW_CELL_ACTIVATABLE) # Notice how we pull the data from col 3, but this is the 6th col # added to the DVC. The order of the view columns is not dependent on # the order of the model columns at all. c5 = self.dvc.AppendTextColumn("id", 3, width=40, mode=dv.DATAVIEW_CELL_EDITABLE) #c5.Alignment = wx.ALIGN_RIGHT # Set some additional attributes for all the columns for c in self.dvc.Columns: c.Sortable = True c.Reorderable = True self.Sizer = wx.BoxSizer(wx.VERTICAL) self.Sizer.Add(self.dvc, 1, wx.EXPAND) #b1 = wx.Button(self, label="Open File", name="openFile") #self.Bind(wx.EVT_BUTTON, self.OnOpen, b1) #b2 = wx.Button(self, label="Del File", name="delFile") #self.Bind(wx.EVT_BUTTON, self.onDel, b2) b3 = wx.Button(self, label="Save File", name="saveFile") self.Bind(wx.EVT_BUTTON, self.OnSave, b3) #b4 = wx.Button(self, label="New View", name="newView") #self.Bind(wx.EVT_BUTTON, self.OnNewView, b4) btnbox = wx.BoxSizer(wx.HORIZONTAL) #btnbox.Add(b1, 0, wx.LEFT|wx.RIGHT, 5) #btnbox.Add(b2, 0, wx.LEFT|wx.RIGHT, 5) btnbox.Add(b3, 0, wx.LEFT | wx.RIGHT, 5) #btnbox.Add(b4, 0, wx.LEFT|wx.RIGHT, 5) self.Sizer.Add(btnbox, 0, wx.TOP | wx.BOTTOM, 5)
def test_dataviewRenderer03(self): r = dv.DataViewTextRenderer()
def __init__(self, *args, **kargs): page = kargs.pop('page', None) parent = kargs.pop('parent', None) title = kargs.pop('title', 'HDF export') path = kargs.pop('path', os.path.join(os.getcwd(), 'data.hdf')) dataset = kargs.pop('dataset', None) metadata = kargs.pop('metadata', OrderedDict()) export_flag = kargs.pop('export_flag', {}) if dataset is None: if page is None: return dataset, metadata, export_flag = build_data( page, verbose=False, metadata=metadata, export_flag=export_flag) style = (wx.CAPTION | wx.CLOSE_BOX | wx.MINIMIZE_BOX | wx.RESIZE_BORDER) if parent is not None: style = style | wx.FRAME_FLOAT_ON_PARENT wx.Frame.__init__(self, *args, style=style, title=title, parent=parent, size=(400, 500)) self.SetSizer(wx.BoxSizer(wx.VERTICAL)) hsizer = wx.BoxSizer(wx.HORIZONTAL) self.GetSizer().Add(hsizer, 1, wx.EXPAND, 0) panel = wx.Panel(self) hsizer.Add(panel, 1, wx.EXPAND) panel.SetSizer(wx.BoxSizer(wx.VERTICAL)) sizer = panel.GetSizer() sizer_h = wx.BoxSizer(wx.HORIZONTAL) wildcard = "HDF(hdf)|*.hdf|Any|*.*" self.filepicker = wx.FilePickerCtrl(panel, style=wx.FLP_SAVE | wx.FLP_USE_TEXTCTRL, path=path, wildcard=wildcard) self.sp = wx.SplitterWindow(panel, wx.ID_ANY, style=wx.SP_NOBORDER | wx.SP_LIVE_UPDATE | wx.SP_3DSASH) self.dataviewCtrl = dv.DataViewCtrl(self.sp, style=(wx.BORDER_THEME | dv.DV_ROW_LINES | dv.DV_VERT_RULES)) self.model = HDFDataModel(export_flag=export_flag, dataset=dataset, metadata=metadata) self.dataviewCtrl.AssociateModel(self.model) self.tr = tr = dv.DataViewTextRenderer() c0 = dv.DataViewColumn( "name", # title tr, # renderer 0, # data model column width=200) self.dataviewCtrl.AppendColumn(c0) # self.dataviewCtrl.AppendTextColumn('name', 0, # width = 150, # mode=dv.DATAVIEW_CELL_ACTIVATABLE) c1 = self.dataviewCtrl.AppendToggleColumn( 'export', 1, width=70, mode=dv.DATAVIEW_CELL_ACTIVATABLE) c2 = self.dataviewCtrl.AppendTextColumn( 'value', 2, width=100, mode=dv.DATAVIEW_CELL_ACTIVATABLE) c3 = self.dataviewCtrl.AppendTextColumn( 'shape', 3, mode=dv.DATAVIEW_CELL_ACTIVATABLE) #c4 = self.dataviewCtrl.AppendTextColumn('metadata', 4, # mode=dv.DATAVIEW_CELL_ACTIVATABLE) for c in self.dataviewCtrl.Columns: c.Sortable = True c.Reorderable = True c1.Alignment = wx.ALIGN_CENTER #from ifigure.widgets.var_viewerg2 import _PropertyGrid self.grid = pg.PropertyGrid(self.sp) #self.btn_load = wx.Button(self, label = 'Load') self.choices = [ 'Options...', 'No Property', 'Minimum properties', 'All properties' ] self.cb = wx.ComboBox(panel, wx.ID_ANY, style=wx.TE_PROCESS_ENTER | wx.CB_READONLY, choices=self.choices) self.cb.SetValue(self.choices[0]) self.btn_export = wx.Button(panel, label='Export...') sizer.Add(self.filepicker, 0, wx.EXPAND | wx.ALL, 1) sizer.Add(self.sp, 1, wx.EXPAND | wx.ALL, 5) sizer.Add(sizer_h, 0, wx.EXPAND | wx.ALL, 5) #sizer_h.Add(self.btn_load, 0, wx.EXPAND|wx.ALL, 1) sizer_h.Add(self.cb, 0, wx.EXPAND | wx.ALL, 1) sizer_h.AddStretchSpacer(prop=1) sizer_h.Add(self.btn_export, 0, wx.EXPAND | wx.ALL, 1) self.Layout() self.Show() self.sp.SetMinimumPaneSize(30) self.sp.SplitHorizontally(self.dataviewCtrl, self.grid) self.sp.SetSashPosition(300) # self.Bind(dv.EVT_DATAVIEW_ITEM_VALUE_CHANGED, # self.onDataChanged, self.dataviewCtrl) self.Bind(dv.EVT_DATAVIEW_SELECTION_CHANGED, self.onSelChanged, self.dataviewCtrl) # self.Bind(dv.EVT_DATAVIEW_ITEM_COLLAPSING, # self.onCollapsing, self.dataviewCtrl) self.grid.Bind(pg.EVT_PG_CHANGED, self.onPGChanged, self.grid) self.Bind(wx.EVT_BUTTON, self.onExport, self.btn_export) self.Bind(wx.EVT_COMBOBOX, self.onCBHit, self.cb) self.Bind(wx.EVT_CLOSE, self.onWindowClose) self.page = page wx.GetApp().TopWindow.hdf_export_window = self
def __init__(self, parent, data=None, model=None): wx.Panel.__init__(self, parent, size=(600, 250)) self.anuncio = None self.parent = parent self.dvc = dv.DataViewCtrl(self, style=wx.BORDER_THEME | dv.DV_ROW_LINES | dv.DV_VERT_RULES | dv.DV_MULTIPLE) self.model = None if model is None: if data: self.model = MyTreeListModel(data) else: self.model = model # Tel the DVC to use the model if self.model: self.dvc.AssociateModel(self.model) self.tr = tr = dv.DataViewTextRenderer() c0 = dv.DataViewColumn( "Bloque", # title tr, # renderer 0, # data model column width=250) self.dvc.AppendColumn(c0) # else: # self.dvc.AppendTextColumn("Bloque", 0, width=80) c3 = self.dvc.AppendTextColumn('Inicio', 1, width=200, mode=dv.DATAVIEW_CELL_ACTIVATABLE) c4 = self.dvc.AppendTextColumn('Final', 2, width=200, mode=dv.DATAVIEW_CELL_ACTIVATABLE) c1 = self.dvc.AppendTextColumn("Anuncio", 3, width=300, mode=dv.DATAVIEW_CELL_ACTIVATABLE) c2 = self.dvc.AppendTextColumn("Marca", 4, width=150, mode=dv.DATAVIEW_CELL_ACTIVATABLE) c5 = self.dvc.AppendTextColumn("id", 5, width=40, mode=dv.DATAVIEW_CELL_ACTIVATABLE) # Notice how we pull the data from col 3, but this is the 6th col # added to the DVC. The order of the view columns is not dependent on # the order of the model columns at all. # c5.Alignment = wx.ALIGN_RIGHT # Set some additional attributes for all the columns for i, c in enumerate(self.dvc.Columns): c.Sortable = True c.Reorderable = True self.Sizer = wx.BoxSizer(wx.VERTICAL) self.Sizer.Add(self.dvc, 1, wx.EXPAND) self.Bind(dv.EVT_DATAVIEW_ITEM_ACTIVATED, self.OnClick) b1 = wx.Button(self, label="Vista Completa", name="vistacompleta") self.Bind(wx.EVT_BUTTON, self.OnNewView, b1) self.Sizer.Add(b1, 0, wx.ALL, 5)