Esempio n. 1
0
    def addProp(self, oid):
        attr = self.dialog.attribs[oid]
        value = attr.GetValue()
        if oid == self.dialog.rdnOid:
            icon = "attribRDN"
        elif oid in self.dialog.mustAttribs:
            icon = "attribMust"
        else:
            icon = "attribMay"

        if attr.IsBinary():
            property = wxpg.StringProperty(attr.name, "",
                                           xlt("<binary data; can't edit>"))
        elif attr.IsSingleValue():
            if attr.IsInteger():
                property = wxpg.IntProperty(attr.name, oid, value)
            else:
                if not value:
                    value = ""
                property = wxpg.StringProperty(attr.name, oid, value)
        else:
            if not value:
                value = []
            property = wxpg.ArrayStringProperty(attr.name, oid, value)
        self.grid.Append(property)
        self.grid.SetPropertyImage(property, self.dialog.GetBitmap(icon))

        if not attr.IsBinary():
            attr.items[self.grid] = property
        return property
Esempio n. 2
0
    def populatepropgrid(self, pg):
        #Geometry Properties
        pg.Append(wxpg.PropertyCategory("Geometry"))

        normalID = pg.Append(wxpg.StringProperty("Center", value="<composed>"))
        pg.AppendIn(normalID, wxpg.FloatProperty("X", value=self.x))
        pg.AppendIn(normalID, wxpg.FloatProperty("Y", value=self.y))
        pg.AppendIn(normalID, wxpg.FloatProperty("Z", value=self.z))

        normalID2 = pg.Append(
            wxpg.StringProperty("Center2", value="<composed>"))
        pg.AppendIn(normalID2, wxpg.FloatProperty("X", value=self.x2))
        pg.AppendIn(normalID2, wxpg.FloatProperty("Y", value=self.y2))
        pg.AppendIn(normalID2, wxpg.FloatProperty("Z", value=self.z2))

        pg.Append(wxpg.FloatProperty("Radius", value=self.r))

        #Material Properties
        pg.Append(wxpg.PropertyCategory("Material"))
        pg.Append(wxpg.FloatProperty("Reflectivity", value=self.reflectivity))

        pg.Append(wxpg.BoolProperty("Cast Shadows", value=self.cast))
        pg.SetPropertyAttribute("Cast Shadows", "UseCheckbox", True)

        pg.Append(wxpg.BoolProperty("Recieve Shadows", value=self.recieve))
        pg.SetPropertyAttribute("Recieve Shadows", "UseCheckbox", True)
    def __init__(self, parent, pipeline):
        wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY)
        self.pipeline = pipeline

        # Setup main settings panel.
        settingsGridSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.settingsGrid = wx_propgrid.PropertyGrid(self, size=(500, 500))
        settingsGridSizer.Add(self.settingsGrid, 1, wx.EXPAND)

        self.settingsGrid.Append(
            wx_propgrid.PropertyCategory("Basic Analysis Settings"))
        self.settingsGrid.Append(
            wx_propgrid.StringProperty("Pipeline name", "pipelineName",
                                       self.pipeline.pipelineName))
        self.settingsGrid.Append(
            wx_propgrid.DirProperty("Data directory", "dataDirectory",
                                    self.pipeline.dataDirectory))
        self.settingsGrid.Append(
            wx_propgrid.StringProperty("Data filename", "dataFilename",
                                       self.pipeline.dataFilename))

        self.SetSizerAndFit(settingsGridSizer)

        self.Bind(wx_propgrid.EVT_PG_CHANGED, self.onUpdateMainSettingsGrid,
                  self.settingsGrid)
Esempio n. 4
0
    def getPropertyForType(self, stg, pid, dt):
        if dt == "str":
            pgp = wxpg.StringProperty(pid, value="")

        elif dt == "float":
            pgp = wxpg.FloatProperty(pid, value=0.0)

        elif dt in ["int", "extruder"]:
            pgp = wxpg.IntProperty(pid, value=0)

        elif dt == "bool":
            pgp = wxpg.BoolProperty(pid, value=False)

        elif dt == "enum":
            opts = [str(x) for x in stg.getOptions()]
            pgp = wxpg.EnumProperty(pid,
                                    labels=opts,
                                    values=range(len(opts)),
                                    value=0)

        else:
            self.log("taking default action for unknown data type: %s" % dt)
            pgp = wxpg.StringProperty(pid, value="")

        return pgp
Esempio n. 5
0
    def __init__(self, label, name, value):
        wxpg.PGProperty.__init__(self, label, name)

        self.AddPrivateChild(wxpg.StringProperty("X", value=value[0]))
        self.AddPrivateChild(wxpg.StringProperty("Y", value=value[1]))

        self.m_value = value
Esempio n. 6
0
    def test_propgridprops02(self):
        pg.PG_PROP_PASSWORD

        p1 = pg.StringProperty()
        p2 = pg.StringProperty('label', 'name', 'value')

        s = p2.ValueToString(12345)
        assert s == '12345'
Esempio n. 7
0
    def AddProperty(self, property, parent_property=None):
        self.inAddProperty += 1

        # add a cad.property, optionally to an existing wx.PGProperty
        if property.GetType() == cad.PROPERTY_TYPE_STRING:
            new_prop = wxpg.StringProperty(property.GetTitle(),
                                           value=property.GetString())
        elif property.GetType() == cad.PROPERTY_TYPE_LONG_STRING:
            #new_prop = wxpg.LongStringProperty("MultipleButtons", wxpg.PG_LABEL)
            new_prop = wxpg.StringProperty(property.GetTitle(),
                                           value=property.GetString())
        elif property.GetType() == cad.PROPERTY_TYPE_DOUBLE:
            new_prop = wxpg.FloatProperty(property.GetTitle(),
                                          value=property.GetDouble())
        elif property.GetType() == cad.PROPERTY_TYPE_LENGTH:
            new_prop = wxpg.FloatProperty(property.GetTitle(),
                                          value=property.GetDouble() /
                                          cad.GetUnits())
        elif property.GetType() == cad.PROPERTY_TYPE_INT:
            new_prop = wxpg.IntProperty(property.GetTitle(),
                                        value=property.GetInt())
        elif property.GetType() == cad.PROPERTY_TYPE_COLOR:
            col = property.GetColor()
            wcol = wx.Colour(col.red, col.green, col.blue)
            new_prop = wxpg.ColourProperty(property.GetTitle(), value=wcol)
        elif property.GetType() == cad.PROPERTY_TYPE_CHOICE:
            new_prop = wxpg.EnumProperty(property.GetTitle(),
                                         labels=property.GetChoices(),
                                         value=property.GetInt())
        elif property.GetType() == cad.PROPERTY_TYPE_CHECK:
            new_prop = wxpg.BoolProperty(property.GetTitle(),
                                         value=property.GetBool())
            new_prop.SetAttribute(wxpg.PG_BOOL_USE_CHECKBOX, True)
        elif property.GetType() == cad.PROPERTY_TYPE_LIST:
            new_prop = wxpg.StringProperty(property.GetTitle(),
                                           value='<composed>')
        elif property.GetType() == cad.PROPERTY_TYPE_FILE:
            new_prop = wxpg.FileProperty(property.GetTitle(),
                                         value=property.GetString())
        else:
            wx.MessageBox('invalid property type: ' + str(property.GetType()))
            return

        if not property.editable:
            new_prop.ChangeFlag(wxpg.PG_PROP_READONLY, True)
        self.Append(parent_property, new_prop, property)

        if property.GetType() == cad.PROPERTY_TYPE_LIST:
            plist = property.GetProperties()
            for p in plist:
                self.AddProperty(p, new_prop)
            new_prop.ChangeFlag(wxpg.PG_PROP_COLLAPSED, True)
        elif property.GetType() == cad.PROPERTY_TYPE_LONG_STRING:
            # Change property to use editor created in the previous code segment
            #self.pg.SetPropertyEditor("MultipleButtons", self.multiButtonEditor)
            self.pg.SetPropertyEditor(new_prop, "TrivialPropertyEditor")

        self.inAddProperty -= 1
    def Remplissage(self):
        # Heure min affichée
        propriete = wxpg.StringProperty(label=_(u"Heure minimale affichée"),
                                        name="heure_min",
                                        value="08:30")
        propriete.SetHelpString(_(u"Saisissez une heure"))
        propriete.SetEditor("EditeurHeure")
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Heure max affichée
        propriete = wxpg.StringProperty(label=_(u"Heure maximale affichée"),
                                        name="heure_max",
                                        value="22:30")
        propriete.SetHelpString(_(u"Saisissez une heure"))
        propriete.SetEditor("EditeurHeure")
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Intervalle souris
        propriete = wxpg.StringProperty(label=_(u"Pas de la souris"),
                                        name="temps_arrondi",
                                        value="00:30")
        propriete.SetHelpString(_(u"Saisissez un temps"))
        propriete.SetEditor("EditeurHeure")
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Durée minimale barre
        propriete = wxpg.StringProperty(label=_(u"Durée minimale location"),
                                        name="barre_duree_minimale",
                                        value="00:30")
        propriete.SetHelpString(_(u"Saisissez une durée"))
        propriete.SetEditor("EditeurHeure")
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Hauteur de ligne
        propriete = wxpg.IntProperty(label=_(u"Hauteur de ligne"),
                                     name="case_hauteur",
                                     value=50)
        propriete.SetHelpString(
            _(u"Saisissez une hauteur de ligne (50 par défaut)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        self.SetPropertyEditor("case_hauteur", "SpinCtrl")

        # Autoriser changement de ligne
        propriete = wxpg.BoolProperty(
            label=_(u"Autoriser le changement de ligne"),
            name="autoriser_changement_ligne",
            value=True)
        propriete.SetHelpString(
            _(u"Cochez cette case si vous souhaitez pouvoir changer de ligne"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)
Esempio n. 9
0
    def initEditor(self):

        #draw_button = wx.Button(self, label="Press Me")
        #self.Bind(wx.EVT_BUTTON, self.OnButtonPressed, draw_button)
        mb = self.MakeMenuBar()
        self.SetMenuBar(mb)
        self.CreateStatusBar()
        self.Maximize(True)
        self.Centre()
        self.Show()

        self.bSizer1 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_auinotebook1 = wx.aui.AuiNotebook(self, wx.ID_ANY,
                                                 wx.DefaultPosition,
                                                 wx.Size(550, -1),
                                                 wx.aui.AUI_NB_DEFAULT_STYLE)

        self.bSizer1.Add(self.m_auinotebook1, 1, wx.EXPAND | wx.ALL, 5)

        bSizer2 = wx.BoxSizer(wx.VERTICAL)

        self.m_dataViewCtrl1 = wx.dataview.DataViewCtrl(
            self, wx.ID_ANY, wx.DefaultPosition, wx.Size(130, 200), 0)
        bSizer2.Add(self.m_dataViewCtrl1, 0, wx.ALL, 5)

        self.m_propertyGridManager1 = pg.PropertyGridManager(
            self, wx.ID_ANY, wx.DefaultPosition, wx.Size(130, 200),
            wx.propgrid.PGMAN_DEFAULT_STYLE)
        self.m_propertyGridManager1.SetExtraStyle(
            wx.propgrid.PG_EX_MODE_BUTTONS)

        self.m_propertyGridPage1 = self.m_propertyGridManager1.AddPage(
            u"Page", wx.NullBitmap)
        self.m_propertyGridItem1 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name", u"Name"))
        self.m_propertyGridItem6 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name1", u"Name1"))
        self.m_propertyGridItem7 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name2", u"Name2"))
        self.m_propertyGridItem8 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name3", u"Name3"))
        self.m_propertyGridItem9 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name4", u"Name4"))
        self.m_propertyGridItem2 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name5", u"Name5"))
        self.m_propertyGridItem3 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name6", u"Name6"))
        self.m_propertyGridItem4 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name7", u"Name7"))
        self.m_propertyGridItem5 = self.m_propertyGridPage1.Append(
            pg.StringProperty(u"Name8", u"Name8"))
        bSizer2.Add(self.m_propertyGridManager1, 0, wx.ALL, 5)

        self.bSizer1.Add(bSizer2, 1, wx.EXPAND, 5)

        self.SetSizer(self.bSizer1)
        self.Layout()

        self.Centre(wx.BOTH)
Esempio n. 10
0
 def initDetailPanel(self, pgm):
     pgm.Clear()
     page = pgm.AddPage(res.S_BD_FILE_INFO)
     page.Append(wxpg.LongStringProperty(res.S_BD_FILE_NAME, "file_name"))
     page.Append(wxpg.StringProperty(res.S_BD_EXT, "file_ext"))
     page.Append(wxpg.StringProperty(res.S_BD_SIZE, "file_size"))
     page.Append(wxpg.StringProperty(res.S_BD_MD5, "md5"))
     page.Append(
         wxpg.StringProperty(res.S_BD_MODIFY_TIME, "file_modify_time"))
     page.Append(wxpg.LongStringProperty(res.S_BD_PATH, "path"))
     self._pgm = pgm
Esempio n. 11
0
    def __init__(self, parent):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           'NLExtract BAG config aanpassen',
                           size=(400, 200))

        self.panel = panel = wx.Panel(self, wx.ID_ANY)

        # Difference between using PropertyGridManager vs PropertyGrid is that
        # the manager supports multiple pages and a description box.
        self.pg = pg = wxpg.PropertyGridManager(
            panel, style=wxpg.PG_SPLITTER_AUTO_CENTER | wxpg.PG_AUTO_SORT)
        pg.AddPage("BAG Extract Config")

        pg.Append(wxpg.PropertyCategory("BAG Extract Config"))
        pg.Append(
            wxpg.StringProperty("Database naam",
                                value="%s" % BAGConfig.config.database))
        pg.Append(
            wxpg.StringProperty("Database schema",
                                value="%s" % BAGConfig.config.schema))
        pg.Append(
            wxpg.StringProperty("Database host",
                                value="%s" % BAGConfig.config.host))
        pg.Append(
            wxpg.StringProperty("Database user",
                                value="%s" % BAGConfig.config.user))
        pg.Append(
            wxpg.StringProperty("Database password",
                                value="%s" % BAGConfig.config.password))
        pg.Append(
            wxpg.IntProperty("Database poort",
                             value=int(BAGConfig.config.port)))
        # pg.Append(wxpg.BoolProperty("Verbose logging", value=True))
        # pg.SetPropertyAttribute("Bool_with_Checkbox", "UseCheckbox", True)

        topsizer = wx.BoxSizer(wx.VERTICAL)
        topsizer.Add(pg, 1, wx.EXPAND)
        but = wx.Button(panel, -1, "Bewaren")
        but.Bind(wx.EVT_BUTTON, self.OnSave)
        topsizer.Add(but, 1, wx.EXPAND)

        # rowsizer = wx.BoxSizer(wx.HORIZONTAL)
        # rowsizer.Add(but, 1)

        panel.SetSizer(topsizer)
        topsizer.SetSizeHints(panel)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(panel, 1, wx.EXPAND)
        self.SetSizer(sizer)
        self.SetAutoLayout(True)
Esempio n. 12
0
 def initDetailPanel(self, pgm):
     pgm.Clear()
     page = pgm.AddPage("Page 1 - Testing All")
     page.Append(wxpg.PropertyCategory(res.S_BD_BOOK_INFO))
     page.Append(wxpg.LongStringProperty(res.S_BD_NAME, "book_name"))
     page.Append(wxpg.StringProperty(res.S_BD_AUTHOR, "author"))
     page.Append(wxpg.LongStringProperty(res.S_BD_DESC, "notes"))
     page.Append(wxpg.PropertyCategory(res.S_BD_FILE_INFO))
     page.Append(wxpg.StringProperty(res.S_BD_EXT, "ext"))
     page.Append(wxpg.StringProperty(res.S_BD_MD5, "md5"))
     pgm.AddPage("Page 2 - Testing All")
     self._pgm = pgm
Esempio n. 13
0
    def Remplissage(self):
        # Plateforme
        self.Append(wxpg.PropertyCategory(_(u"Paramètres")))

        liste_choix = [
            ("contact_everyone", _(u"Contact Everyone By Orange Business")),
            ("cleversms", _(u"Clever SMS")),
            ("clevermultimedias", _(u"Clever Multimedias")),
            ]

        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Plateforme"), name="plateforme", liste_choix=liste_choix, valeur=None)
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez une plateforme"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Adresse envoi d'email
        DB = GestionDB.DB()
        req = """SELECT IDadresse, adresse FROM adresses_mail ORDER BY adresse; """
        DB.ExecuterReq(req)
        liste_adresses = DB.ResultatReq()
        DB.Close()
        liste_adresses.insert(0, (0, _(u"Aucune")))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Adresse d'expédition d'email"), name="adresse_expedition_email", liste_choix=liste_adresses, valeur=0)
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez l'adresse d'expédition de l'email. Cette adresse doit être référencée sur votre compte Contact Everyone."))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Adresse de destination
        propriete = wxpg.StringProperty(label=_(u"Adresse de destination"), name="orange_adresse_destination_email", value="*****@*****.**")
        propriete.SetHelpString(_(u"Saisissez l'adresse de destination de l'email"))
        self.Append(propriete)

        # Adresse de destination
        propriete = wxpg.StringProperty(label=_(u"Adresse de destination"), name="cleversms_adresse_destination_email", value="*****@*****.**")
        propriete.SetHelpString(_(u"Saisissez l'adresse de destination de l'email"))
        self.Append(propriete)

        # Adresse de destination
        propriete = wxpg.StringProperty(label=_(u"Adresse de destination"), name="clevermultimedias_adresse_destination_email", value="*****@*****.**")
        propriete.SetHelpString(_(u"Saisissez l'adresse de destination de l'email"))
        self.Append(propriete)

        # Nbre caractères max
        propriete = wxpg.IntProperty(label=_(u"Nombre maximal de caractères du message"), name="nbre_caracteres_max", value=160)
        propriete.SetHelpString(_(u"Nombre maximal de caractères du message"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        self.SetPropertyEditor("nbre_caracteres_max", "SpinCtrl")
Esempio n. 14
0
    def _create_dummy_content(self):
        # some dummy content from the wxPython demo
        import wx.propgrid as wxpg
        pg = self.widget
        pg.AddPage( "Page 1 - Dummy" )

        pg.Append( wxpg.PropertyCategory("1 - Basic Properties") )
        pg.Append( wxpg.StringProperty("String",value="Some Text") )

        sp = pg.Append( wxpg.StringProperty('StringProperty w/ Password flag', value='ABadPassword') )
        sp.SetAttribute('Hint', 'This is a hint')
        sp.SetAttribute('Password', True)

        pg.Append( wxpg.IntProperty("Int",value=123) )
        pg.Append( wxpg.FloatProperty("Float",value=123.4) )
        pg.Append( wxpg.BoolProperty("Bool",value=True) )
        pg.Append( wxpg.BoolProperty("Bool_with_Checkbox",value=True) )
        pg.SetPropertyAttribute( "Bool_with_Checkbox", "UseCheckbox", True)
        pg.Append( wxpg.PropertyCategory("2 - More Properties") )
        pg.Append( wxpg.LongStringProperty("LongString", value="This is a\nmulti-line string\nwith\ttabs\nmixed\tin."))
        pg.Append( wxpg.DirProperty("Dir",value=r"C:\Windows") )
        pg.Append( wxpg.FileProperty("File",value=r"C:\Windows\system.ini") )
        pg.Append( wxpg.ArrayStringProperty("ArrayString",value=['A','B','C']) )

        pg.Append( wxpg.EnumProperty("Enum","Enum", ['wxPython Rules', 'wxPython Rocks', 'wxPython Is The Best'],
                                                    [10,11,12], 0) )
        pg.Append( wxpg.EditEnumProperty("EditEnum","EditEnumProperty", ['A','B','C'], [0,1,2], "Text Not in List") )

        pg.Append( wxpg.PropertyCategory("3 - Advanced Properties") )
        pg.Append( wxpg.DateProperty("Date",value=wx.DateTime.Now()) )
        pg.Append( wxpg.FontProperty("Font",value=self.widget.GetFont()) )
        pg.Append( wxpg.ColourProperty("Colour", value=self.widget.GetBackgroundColour()) )
        pg.Append( wxpg.SystemColourProperty("SystemColour") )
        pg.Append( wxpg.ImageFileProperty("ImageFile") )
        pg.Append( wxpg.MultiChoiceProperty("MultiChoice", choices=['wxWidgets','QT','GTK+']) )

        pg.Append( wxpg.PropertyCategory("4 - Additional Properties") )
        pg.Append( wxpg.IntProperty("IntWithSpin",value=256) )
        pg.SetPropertyEditor("IntWithSpin","SpinCtrl")

        pg.SetPropertyAttribute( "File", wxpg.PG_FILE_SHOW_FULL_PATH, 0 )
        pg.SetPropertyAttribute( "File", wxpg.PG_FILE_INITIAL_PATH, r"C:\Program Files\Internet Explorer" )
        if compat.IS_PHOENIX:
            pg.SetPropertyAttribute( "Date", wxpg.PG_DATE_PICKER_STYLE, wx.adv.DP_DROPDOWN|wx.adv.DP_SHOWCENTURY )

        pg.AddPage( "Page 2 - Almost Empty" )
        pg.Append( wxpg.PropertyCategory("1 - Basic Properties") )
        pg.Append( wxpg.StringProperty("String 2",value="Some Text") )
Esempio n. 15
0
    def initialize_fixed_properties(self, pg):
        pg.Append(wxpg.StringProperty(self.SLIDE_RANGE))
        pg.Append(
            wxpg.EnumProperty(self.IMAGE_TYPE, labels=["GIF", "PNG"], value=1))
        pg.Append(wxpg.DirProperty(self.OUTPUT_DIR))

        pg.Append(wxpg.BoolProperty(self.CLEANUP_OUTPUT_DIR))
Esempio n. 16
0
 def AddMethod(self, name, m):
     doc = inspect.getdoc(m)
     if doc is None:
         doc = "No Description"
     prop = propgrid.StringProperty(name, value=doc)
     prop.Enable(False)
     self.Append(prop)
Esempio n. 17
0
    def _update_node(self, node, tree):
        # type: (propgrid.PGProperty, any) -> None

        for key in tree:
            value = tree[key]

            if value is None:
                continue

            name = node.GetName() + '.' + key

            existing_property = node.GetPropertyByName(
                name)  # type: propgrid.PGProperty

            if existing_property is None:
                if type(value) is dict:
                    n = propgrid.PropertyCategory(label=key, name=name)
                    node.AppendChild(n)
                    self._update_node(n, value)
                    self._props.Collapse(n)
                else:
                    n = propgrid.StringProperty(label=key,
                                                name=name,
                                                value=str(value))
                    n.SetHelpString(key + ': ' + repr(value))

                    node.AppendChild(n)
                    self._props.SetPropertyReadOnly(n)
            else:
                if type(value) is dict:
                    self._update_node(existing_property, value)
                else:
                    existing_property.SetValue(str(value))
                    existing_property.SetHelpString(key + ': ' + repr(value))
Esempio n. 18
0
    def _create_plot_properties(self):
        pg = self.property_grid_1
        # pg.AddPage("Page 1 - Plot Settings")  # if pages are needed, use PropertyGridManger instead
        dir_path = os.path.dirname(os.path.realpath(__file__))
        pg.Append(wxpg.PropertyCategory("1 - Basic Properties"))
        pg.Append(wxpg.StringProperty(label="Title", value="Title"))
        pg.Append(wxpg.StringProperty(label="X Label", value="X Label"))
        pg.Append(wxpg.StringProperty(label="Y Label", value="Y Label"))
        pg.Append(wxpg.BoolProperty(label="Grid", value=True))
        pg.SetPropertyAttribute(id="Grid", attrName="UseCheckbox", value=True)

        pg.Append(wxpg.PropertyCategory("2 - Data"))
        # https://discuss.wxpython.org/t/wxpython-pheonix-4-0-2-question-regarding-multichoiceproperty-and-setting-the-selection-of-the-choices/30044
        # https://discuss.wxpython.org/t/how-to-set-propertygrid-values/30152/4
        pg.Append(
            wxpg.EnumProperty(
                label="Scale",
                labels=['Linear', 'SemilogX', 'SemilogY', 'LogLog']))
        pg.Append(
            wxpg.EnumProperty(label="X Data",
                              name="X Data",
                              labels=['NaN'],
                              values=[0]))
        pg.Append(
            wxpg.MultiChoiceProperty(label="Y Data",
                                     name='Y Data',
                                     choices=['NaN'],
                                     value=['NaN']))
        pg.Append(
            wxpg.EnumProperty(label="Data Labels",
                              name="Data Labels",
                              labels=['NaN'],
                              values=[0]))

        pg.Append(wxpg.PropertyCategory("3 - Optional Static Plot Overlay"))
        pg.Append(wxpg.FileProperty(label="Overlay Plot",
                                    value=rf"{dir_path}"))
        pg.Append(wxpg.EnumProperty(label="X Axis Variable", labels=['']))
        pg.Append(wxpg.EnumProperty(label="Y Axis Variable", labels=['']))

        pg.Append(wxpg.PropertyCategory("4 - Advanced Properties"))
        pg.Append(wxpg.ArrayStringProperty(label="xLim", value=['0', '100']))
        pg.Append(wxpg.ArrayStringProperty(label="yLim", value=['0', '100']))
        pg.Append(wxpg.DateProperty(label="Date", value=wx.DateTime.Now()))
        pg.Append(wxpg.ColourProperty(label="Line Colour", value='#1f77b4'))
        pg.Append(wxpg.FontProperty(label="Font", value=self.GetFont()))
        pg.Grid.FitColumns()
Esempio n. 19
0
 def _reset_watch(self):
     """Resets or initializes the internal GUI representation of the
     MetaWatch to default values. Called on startup during
     initialization."""
     
     self.m_LEDNotice.Hide()
     self.m_vibrateNotice.Hide()
     
     self.m_watchMode.Selection = 0
     self.m_watchMode.Enabled = False
     self.m_manualModeSet.Value = False
     self.clock_offset = relativedelta(0)        
     
     self.parser.watch_reset()
     
     # There is no seperate internal data structure for the watch state,
     # the GUI elements *are* the internal representation. This function
     # essentially resets them to a known state.
     
     self.m_pg.ClearPage(0)  
     self.m_pg.Append(wxpg.PropertyCategory("NVAL Store"))        
     
     # All NVAL values are listed in the protocol_constants module. The
     # property grid is built by parsing that list and applying default
     # values (NVAL properties which have no default value are ignored,
     # they are marked 'reserved' in the protocol documentation).
     
     for value in nval.get_nval_list():
         args, kwargs = ([], {})
         if value.displaytype[0] and value.default:
             dest_type, value_type = value.displaytype
             kwargs = dict(value = value_type(value.default))
         elif isinstance(value.valuetype, list):
             dest_type = wxpg.EnumProperty
             args = (value.valuetype,
                     range(len(value.valuetype)), value.default)
         elif isinstance(value.valuetype, dict):
             dest_type = wxpg.EnumProperty
             args = (value.valuetype.values(),
                     value.valuetype.keys(), value.default)
         else:
             continue
             
         self.m_pg.Append(dest_type(value.name, str("nval_%04X" % value.identifier),
                                    *args, **kwargs))
             
     self.m_pg.Append(wxpg.PropertyCategory("Real Time Clock"))
     self.m_pg.Append(wxpg.DateProperty("Date"))
     self.m_pg.Append(wxpg.StringProperty("Time"))
     
     self.m_pg.SetPropertyAttribute("Date", wxpg.PG_DATE_PICKER_STYLE,
                                      wx.DP_DROPDOWN|wx.DP_SHOWCENTURY)
     
     # Call the timer function once for immediate clock update.
     self.OnClock()
     
     self.logger.info("Initialized watch to default state")
Esempio n. 20
0
    def initialize_fixed_properties(self, pg):
        pg.Append(wxpg.PropertyCategory(_("1 - Range specification")))
        pg.Append(wxpg.StringProperty(self.SLIDE_RANGE))
        pg.Append(wxpg.StringProperty(self.REPEAT_RANGE))

        pg.Append(wxpg.PropertyCategory(_("2 - Text to find and replace")))
        pg.Append(wxpg.StringProperty(self.FIND_TEXT))
        pg.Append(wxpg.LongStringProperty(self.REPLACE_TEXT))
        pg.Append(wxpg.LongStringProperty(self.PREPROCESS_SCRIPT))

        pg.Append(wxpg.PropertyCategory(_("3 - Archive processing")))
        pg.Append(wxpg.BoolProperty(self.ARCHIVE_LYRIC_FILES))
        pg.Append(wxpg.StringProperty(self.OPTION_SPLIT_LINE_AT_EVERY))

        pg.Append(wxpg.PropertyCategory(_("4 - Word wrap archive text")))
        pg.Append(wxpg.BoolProperty(self.ENABLE_WORDWRAP))
        pg.Append(wxpg.FontProperty(self.WORDWRAP_FONT))
        pg.Append(wxpg.IntProperty(self.PAGE_WITDH))
Esempio n. 21
0
    def populatepropgrid(self, pg):
        #Geometry Properties
        pg.Append(wxpg.PropertyCategory("Geometry"))

        normalID = pg.Append(
            wxpg.StringProperty("Position", value="<composed>"))
        pg.AppendIn(normalID, wxpg.FloatProperty("X", value=self.x))
        pg.AppendIn(normalID, wxpg.FloatProperty("Y", value=self.y))
        pg.AppendIn(normalID, wxpg.FloatProperty("Z", value=self.z))
Esempio n. 22
0
    def initialize_fixed_properties(self, pg):
        pg.Append(
            wxpg.EnumProperty(self.FILE_TYPE,
                              labels=self.FILE_TYPE_LIST,
                              value=2))

        pg.Append(wxpg.PropertyCategory(_("1 - Slide settings")))
        pg.Append(wxpg.StringProperty(self.SLIDE_REPEAT_RANGE))
        pg.Append(wxpg.StringProperty(self.SLIDE_SEPARATOR_SLIDES))

        pg.Append(wxpg.PropertyCategory(_("2 - Lyric settings")))
        pg.Append(wxpg.StringProperty(self.LYRIC_REPEAT_RANGE))
        pg.Append(wxpg.StringProperty(self.LYRIC_SEPARATOR_SLIDES))
        pg.Append(wxpg.StringProperty(self.LYRIC_PATTERN))

        pg.Append(wxpg.BoolProperty(self.ARCHIVE_LYRIC_FILES))

        pg.Append(wxpg.PropertyCategory(
            _("3 - List of lyric files to insert")))
Esempio n. 23
0
    def populatepropgrid(self, pg):
        #Geometry Properties
        pg.Append(wxpg.PropertyCategory("Geometry"))

        minID = pg.Append(wxpg.StringProperty("Minimum", value="<composed>"))
        pg.AppendIn(minID, wxpg.FloatProperty("X", value=self.min[0]))
        pg.AppendIn(minID, wxpg.FloatProperty("Y", value=self.min[1]))
        pg.AppendIn(minID, wxpg.FloatProperty("Z", value=self.min[2]))

        maxID = pg.Append(wxpg.StringProperty("Maximum", value="<composed>"))
        pg.AppendIn(maxID, wxpg.FloatProperty("X", value=self.max[0]))
        pg.AppendIn(maxID, wxpg.FloatProperty("Y", value=self.max[1]))
        pg.AppendIn(maxID, wxpg.FloatProperty("Z", value=self.max[2]))

        #Material Properties
        pg.Append(wxpg.PropertyCategory("Material"))

        pg.Append(wxpg.BoolProperty("Cast Shadows", value=self.cast))
        pg.SetPropertyAttribute("Cast Shadows", "UseCheckbox", True)
Esempio n. 24
0
    def _init_file_props(self):
        self.propgrid.Append(wxpg.PropertyCategory("File properties", "file"))

        props = (
            wxpg.FileProperty("Location", "file.location", ""),
            wxpg.StringProperty("Last modified", "file.modified", ""),
            wxpg.StringProperty("Last accessed", "file.accessed", ""),
            # os.path.getctime just returns the modification time on Unix
            #wxpg.StringProperty("Created", "file.created", ""),
            wxpg.StringProperty("Size", "file.size", ""),
        )

        for prop in props:
            self.propgrid.Append(prop)
            prop.Enable(False)

        self.propgrid.SetPropertyAttribute("file.size", "Units", "KiB")

        self.refresh_file_properties()
Esempio n. 25
0
  def Go(self):
    self.grid.Freeze()
    for key in Server.panelClassDefault:
      val=self.node.GetPanelClasses(key)
      property=wxpg.StringProperty(key, key, val)
#      bmp=self.GetBitmap(key)
#      if bmp:
#        self.grid.SetPropertyImage(property, bmp)  crashes?!?
      self.grid.Append(property)
    self.grid.Thaw()
    self.IdGeneratorStyle =  self.node.GetIdGeneratorStyle()
    self.sambaUnixIdPoolDN = self.node.GetSambaUnixIdPoolDN() 
Esempio n. 26
0
    def initialize_fixed_properties(self, pg):
        pg.Append(wxpg.PropertyCategory(_("Datetime")))

        pg.Append(wxpg.StringProperty(self.DATETIME_NAME))

        date_prop = self.create_datetime_property(self.DATETIME_VALUE)
        pg.Append(date_prop)

        pg.Append(
            wxpg.PropertyCategory(
                _("Variable names and values to be used for find and replace"))
        )
Esempio n. 27
0
    def __init__(self,
                 parent,
                 id=wx.ID_ANY,
                 pos=wx.DefaultPosition,
                 size=wx.Size(900, 600),
                 style=wx.TAB_TRAVERSAL,
                 name=wx.EmptyString):
        wx.Panel.__init__(self,
                          parent,
                          id=id,
                          pos=pos,
                          size=size,
                          style=style,
                          name=name)

        plc_layout = wx.BoxSizer(wx.VERTICAL)

        self.plc_split = wx.SplitterWindow(self, wx.ID_ANY, wx.DefaultPosition,
                                           wx.DefaultSize, wx.SP_3D)
        self.plc_split.Bind(wx.EVT_IDLE, self.plc_splitOnIdle)

        self.plc_preview = PlaceViewer(self.plc_split, wx.ID_ANY,
                                       wx.DefaultPosition, wx.DefaultSize,
                                       wx.TAB_TRAVERSAL)
        self.plc_data = wx.Panel(self.plc_split, wx.ID_ANY, wx.DefaultPosition,
                                 wx.DefaultSize, wx.TAB_TRAVERSAL)
        plc_data_layout = wx.BoxSizer(wx.VERTICAL)

        self.plc_items = wx.TreeCtrl(self.plc_data, wx.ID_ANY,
                                     wx.DefaultPosition, wx.DefaultSize,
                                     wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT)
        plc_data_layout.Add(self.plc_items, 1, wx.ALL | wx.EXPAND, 5)

        self.plc_item_data = pg.PropertyGrid(self.plc_data, wx.ID_ANY,
                                             wx.DefaultPosition,
                                             wx.DefaultSize,
                                             wx.propgrid.PG_DEFAULT_STYLE)
        self.m_propertyGridItem1 = self.plc_item_data.Append(
            pg.StringProperty(u"Name", u"Name"))
        plc_data_layout.Add(self.plc_item_data, 1, wx.ALL | wx.EXPAND, 5)

        self.plc_data.SetSizer(plc_data_layout)
        self.plc_data.Layout()
        plc_data_layout.Fit(self.plc_data)
        self.plc_split.SplitVertically(self.plc_preview, self.plc_data, 0)
        plc_layout.Add(self.plc_split, 1, wx.EXPAND, 5)

        self.SetSizer(plc_layout)
        self.Layout()

        # Connect Events
        self.plc_items.Bind(wx.EVT_TREE_SEL_CHANGED, self.plc_items_selchanged)
    def __init__(self,
                 label,
                 name=wxpg.PG_LABEL,
                 value={
                     "mne": "mne1",
                     "eeg": "eeg2"
                 }):
        wxpg.PGProperty.__init__(self, label, name)

        self._key_list = [*value]
        for k in self._key_list:
            self.AddPrivateChild(wxpg.StringProperty(k, value=value.get(k)))
        self.m_value = value
Esempio n. 29
0
    def add_string_property(self, name, key, value="", status=None, enabled=True, *args, **kwargs):
        """
        Add string property.

        :param name: label
        :param key: item key
        :param value:
        :param status: status bar string
        :param enabled: boolean value
        :param args:
        :param kwargs:
        :return:
        """
        if isinstance(value, list):
            item = propgrid.StringProperty(name, key)
        else:
            item = propgrid.StringProperty(name, key, value=value)

        self.Append(item)

        if isinstance(value, list):
            # Loop through the values and update.
            for index, cell in enumerate(value):
                if index == 0:
                    item.SetValue(cell)
                else:
                    self.set_text(key, index+1, cell)

        if status:
            self.SetPropertyHelpString(key, status)

        if enabled:
            self.EnableProperty(key)
        else:
            self.DisableProperty(key)

        return item
Esempio n. 30
0
	def __init__( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 500,395 ), style = wx.TAB_TRAVERSAL, name = wx.EmptyString ):
		wx.Panel.__init__ ( self, parent, id = id, pos = pos, size = size, style = style, name = name )

		bSizer1 = wx.BoxSizer( wx.VERTICAL )

		self.m_propertyGridManager1 = pg.PropertyGridManager(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.propgrid.PG_DESCRIPTION|wx.propgrid.PG_SPLITTER_AUTO_CENTER|wx.propgrid.PG_TOOLBAR|wx.propgrid.PG_TOOLTIPS|wx.TAB_TRAVERSAL)
		self.m_propertyGridManager1.SetExtraStyle( wx.propgrid.PG_EX_AUTO_UNSPECIFIED_VALUES|wx.propgrid.PG_EX_MODE_BUTTONS|wx.propgrid.PG_EX_NO_FLAT_TOOLBAR|wx.propgrid.PG_EX_NO_TOOLBAR_DIVIDER )

		self.m_propertyGridPage1 = self.m_propertyGridManager1.AddPage( u"Page", wx.ArtProvider.GetBitmap( wx.ART_REPORT_VIEW, wx.ART_BUTTON ) );
		self.Item1 = self.m_propertyGridPage1.Append( pg.PropertyCategory( u"Directory of Work", u"Directory of Work" ) )
		self.Item2 = self.m_propertyGridPage1.Append( pg.DirProperty( u"Database and Sql files", u"Database and Sql files" ) )
		self.Item3 = self.m_propertyGridPage1.Append( pg.DirProperty( u"Utility and Plugin", u"Utility and Plugin" ) )
		self.Item4 = self.m_propertyGridPage1.Append( pg.DirProperty( u"Server and Local Network", u"Server and Local Network" ) )
		self.m_propertyGridPage1.SetPropertyHelpString( Item4, u"Directory of Local Network that Database and Main File here and other client get Data from it" )
		self.Item5 = self.m_propertyGridPage1.Append( pg.DirProperty( u"Other and Temp", u"Other and Temp" ) )
		self.Item6 = self.m_propertyGridPage1.Append( pg.PropertyCategory( u"General parameter", u"General parameter" ) )
		self.Item7 = self.m_propertyGridPage1.Append( pg.DateProperty( u"Date of Today ", u"Date of Today " ) )
		self.Item8 = self.m_propertyGridPage1.Append( pg.EnumProperty( u"Language", u"Language" ) )
		self.Item9 = self.m_propertyGridPage1.Append( pg.BoolProperty( u"Show Clock", u"Show Clock" ) )
		self.Item10 = self.m_propertyGridPage1.Append( pg.FontProperty( u"Font", u"Font" ) )
		self.Item11 = self.m_propertyGridPage1.Append( pg.FlagsProperty( u"Size", u"Size" ) )
		self.Item12 = self.m_propertyGridPage1.Append( pg.StringProperty( u"position", u"position" ) )

		self.m_propertyGridPage2 = self.m_propertyGridManager1.AddPage( u"Page", wx.ArtProvider.GetBitmap( wx.ART_LIST_VIEW, wx.ART_TOOLBAR ) );
		self.Item13 = self.m_propertyGridPage2.Append( pg.PropertyCategory( u"Other Status", u"Other Status" ) )
		self.Item14 = self.m_propertyGridPage2.Append( pg.StringProperty( u"Toolbar", u"Toolbar" ) )
		self.Item15 = self.m_propertyGridPage2.Append( pg.StringProperty( u"Pan Input", u"Pan Input" ) )
		self.Item16 = self.m_propertyGridPage2.Append( pg.StringProperty( u"Pan Status", u"Pan Status" ) )
		self.Item17 = self.m_propertyGridPage2.Append( pg.ImageFileProperty( u"Background", u"Background" ) )
		self.Item18 = self.m_propertyGridPage2.Append( pg.CursorProperty( u"Cursor", u"Cursor" ) )
		self.Item19 = self.m_propertyGridPage2.Append( pg.LongStringProperty( u"Help", u"Help" ) )
		bSizer1.Add( self.m_propertyGridManager1, 1, wx.ALL|wx.EXPAND, 5 )


		self.SetSizer( bSizer1 )
		self.Layout()