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))
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)
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()
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") )
def refereshView(self): #referesh the grid based on self.confList confdir=(_("Configuration File Location"),[(("confDir"),{"desc":_("Configuration Directory"), "value":os.path.dirname(self.confPath),"type":"directory"})]) self.confList.insert(0,confdir) for cgroup in self.confList: self.grid.Append(wxpg.PropertyCategory(cgroup[0])) for conf in cgroup[1]: if conf[1]['type']=='directory': self.grid.Append(wxpg.DirProperty(conf[1]['desc'],conf[0],conf[1]['value'])) continue if conf[1]['type']=='string': self.grid.Append(wxpg.StringProperty(conf[1]['desc'],conf[0],conf[1]['value'])) continue if conf[1]['type']=='int': self.grid.Append(wxpg.IntProperty(conf[1]['desc'],conf[0],conf[1]['value'])) continue if conf[1]['type']=='float': self.grid.Append(wxpg.FloatProperty(conf[1]['desc'],conf[0],conf[1]['value'])) continue if conf[1]['type']=='bool': self.grid.Append(wxpg.BoolProperty(conf[1]['desc'],conf[0],conf[1]['value'])) continue self.grid.CenterSplitter(False)
def test_propgridprops15(self): p1 = pg.DirProperty()
def Remplissage(self): listeChamps = [ "{SIGNATAIRE_GENRE}", "{SIGNATAIRE_NOM}", "{SIGNATAIRE_FONCTION}", "{NUM_ATTESTATION}", "{DATE_DEBUT}", "{DATE_FIN}", "{DATE_EDITION}", "{LIEU_EDITION}", "{NOMS_INDIVIDUS}", "{DESTINATAIRE_NOM}", "{DESTINATAIRE_RUE}", "{DESTINATAIRE_VILLE}", "{TOTAL_PERIODE}", "{TOTAL_REGLE}", "{SOLDE_DU}", "{ORGANISATEUR_NOM}", "{ORGANISATEUR_RUE}", "{ORGANISATEUR_CP}", "{ORGANISATEUR_VILLE}", "{ORGANISATEUR_TEL}", "{ORGANISATEUR_FAX}", "{ORGANISATEUR_MAIL}", "{ORGANISATEUR_SITE}", "{ORGANISATEUR_AGREMENT}", "{ORGANISATEUR_SIRET}", "{ORGANISATEUR_APE}", ] # Catégorie self.Append(wxpg.PropertyCategory(_(u"Modèle"))) propriete = wxpg.EnumProperty(label=_(u"Modèle de document"), name="IDmodele", value=0) propriete.SetHelpString( _(u"Sélectionnez le modèle de document à utiliser")) propriete.SetEditor("EditeurComboBoxAvecBoutons") propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.MAJ_modeles() # Catégorie self.Append(wxpg.PropertyCategory(_(u"Signataire"))) propriete = wxpg.EnumProperty(label=_(u"Signataire du document"), name="signataire", value=0) propriete.SetHelpString( _(u"Sélectionnez le signataire du document (à renseigner au préalable dans le paramétrage de l'activité)" )) propriete.SetAttribute("obligatoire", True) propriete.SetAttribute("reinitialisation_interdite", True) self.Append(propriete) self.MAJ_signataires() # Catégorie self.Append(wxpg.PropertyCategory(_(u"Mémorisation"))) # Mémorisation des paramètres propriete = wxpg.BoolProperty(label=_(u"Mémoriser les paramètres"), name="memoriser_parametres", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez mémoriser les paramètres de cette liste" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Répertoire de sauvegarde propriete = wxpg.DirProperty(label=_(u"Répertoire pour copie unique"), name="repertoire_copie", value="") propriete.SetHelpString( _(u"Enregistrer une copie unique de chaque document dans le répertoire sélectionné. Sinon laissez vide ce champ." )) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Titre"))) # Afficher le titre propriete = wxpg.BoolProperty(label=_(u"Afficher le titre"), name="afficher_titre", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher le titre du le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) propriete = wxpg.StringProperty(label=_(u"Titre du document"), name="texte_titre", value=_(u"Attestation de présence")) propriete.SetHelpString( _(u"Saisissez le titre du document (Par défaut 'Attestation de présence'). Vous pouvez intégrer les mots-clés suivants : %s" ) % ", ".join(listeChamps)) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.IntProperty(label=_(u"Taille de texte du titre"), name="taille_texte_titre", value=19) propriete.SetHelpString( _(u"Saisissez la taille de texte du titre (29 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_titre", "SpinCtrl") propriete = wxpg.BoolProperty( label=_(u"Afficher la période de facturation"), name="afficher_periode", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher la période de facturation dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) propriete = wxpg.IntProperty( label=_(u"Taille de texte de la période"), name="taille_texte_periode", value=8) propriete.SetHelpString( _(u"Saisissez la taille de texte de la période (8 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_periode", "SpinCtrl") # Catégorie self.Append(wxpg.PropertyCategory(_(u"Tableau des prestations"))) # Affichage condensé ou détaillé propriete = wxpg.EnumProperty( label=_(u"Affichage des prestations"), name="affichage_prestations", labels=[_(u"Détaillé"), _(u"Condensé")], values=[0, 1], value=0) propriete.SetHelpString(_(u"Sélectionnez un type d'affichage")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Intitulés des prestations labels = [ _(u"Intitulé original"), _(u"Intitulé original + état 'Absence injustifiée'"), _(u"Nom du tarif"), _(u"Nom de l'activité") ] propriete = wxpg.EnumProperty(label=_(u"Intitulés des prestations"), name="intitules", labels=labels, values=[0, 1, 2, 3], value=0) propriete.SetHelpString( _(u"Sélectionnez le type d'intitulé à afficher pour les prestations" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur 1 propriete = wxpg.ColourProperty(label=_(u"Couleur de fond 1"), name="couleur_fond_1", value=wx.Colour(204, 204, 255)) propriete.SetHelpString(_(u"Sélectionnez la couleur 1")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur 2 propriete = wxpg.ColourProperty(label=_(u"Couleur de fond 2"), name="couleur_fond_2", value=wx.Colour(234, 234, 255)) propriete.SetHelpString(_(u"Sélectionnez la couleur 2")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Largeur colonne Date propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Date (ou Qté)"), name="largeur_colonne_date", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Date (50 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_date", "SpinCtrl") # Largeur colonne Montant HT propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant HT"), name="largeur_colonne_montant_ht", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant HT (50 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_ht", "SpinCtrl") # Largeur colonne Montant TVA propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant TVA"), name="largeur_colonne_montant_tva", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant TVA (50 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_tva", "SpinCtrl") # Largeur colonne Montant TTC propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant TTC"), name="largeur_colonne_montant_ttc", value=70) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant TTC (70 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_ttc", "SpinCtrl") # Taille de texte du nom de l'individu propriete = wxpg.IntProperty(label=_(u"Taille de texte de l'individu"), name="taille_texte_individu", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte de l'individu (9 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_individu", "SpinCtrl") # Taille de texte du nom de l'activité propriete = wxpg.IntProperty( label=_(u"Taille de texte de l'activité"), name="taille_texte_activite", value=6) propriete.SetHelpString( _(u"Saisissez la taille de texte de l'activité (6 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_activite", "SpinCtrl") # Taille de texte des noms de colonnes propriete = wxpg.IntProperty( label=_(u"Taille de texte des noms de colonnes"), name="taille_texte_noms_colonnes", value=5) propriete.SetHelpString( _(u"Saisissez la taille de texte des noms de colonnes (5 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_noms_colonnes", "SpinCtrl") # Taille de texte des prestations propriete = wxpg.IntProperty( label=_(u"Taille de texte des prestations"), name="taille_texte_prestation", value=7) propriete.SetHelpString( _(u"Saisissez la taille de texte des prestations (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_prestation", "SpinCtrl") # Taille de texte des messages propriete = wxpg.IntProperty(label=_(u"Taille de texte des messages"), name="taille_texte_messages", value=7) propriete.SetHelpString( _(u"Saisissez la taille de texte des messages (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_messages", "SpinCtrl") # Taille de texte des labels totaux propriete = wxpg.IntProperty( label=_(u"Taille de texte des labels totaux"), name="taille_texte_labels_totaux", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte des labels totaux (9 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_labels_totaux", "SpinCtrl") # Taille de texte des totaux propriete = wxpg.IntProperty( label=_(u"Taille de texte des montants totaux"), name="taille_texte_montants_totaux", value=10) propriete.SetHelpString( _(u"Saisissez la taille de texte des montants totaux (10 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_montants_totaux", "SpinCtrl") # Catégorie self.Append(wxpg.PropertyCategory(_(u"Prestations antérieures"))) # Taille de texte propriete = wxpg.IntProperty( label=_(u"Taille de texte du commentaire"), name="taille_texte_prestations_anterieures", value=5) propriete.SetHelpString( _(u"Saisissez la taille de texte du commentaire de bas de tableaux (5 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_prestations_anterieures", "SpinCtrl") # Texte d'information propriete = wxpg.LongStringProperty( label=_(u"Texte d'information"), name="texte_prestations_anterieures", value= _(u"Des prestations antérieures ont été reportées sur cette attestation." )) propriete.SetHelpString( _(u"Saisissez un texte d'information pour les prestations antérieures" )) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Texte d'introduction"))) propriete = wxpg.LongStringProperty(label=_(u"Texte d'introduction"), name="texte_introduction", value=TEXTE_INTRO) propriete.SetHelpString( _(u"Saisissez un texte d'introduction. Vous pouvez intégrer les mots-clés suivants : %s" ) % ", ".join(listeChamps)) self.Append(propriete) propriete = wxpg.IntProperty( label=_(u"Taille de texte d'introduction"), name="taille_texte_introduction", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte d'introduction (9 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_introduction", "SpinCtrl") propriete = wxpg.EnumProperty(label=_(u"Style de texte introduction"), name="style_texte_introduction", labels=[ _(u"Normal"), _(u"Italique"), "Gras", _(u"Italique + Gras") ], values=[0, 1, 2, 3], value=1) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.ColourProperty( label=_(u"Couleur de fond introduction"), name="couleur_fond_introduction", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez une couleur de fond pour le texte d'introduction" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.ColourProperty( label=_(u"Couleur de bord introduction"), name="couleur_bord_introduction", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez une couleur de bord pour le texte d'introduction" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.EnumProperty( label=_(u"Alignement du texte d'introduction"), name="alignement_texte_introduction", labels=[_(u"Gauche"), _(u"Centre"), _(u"Droite")], values=[0, 1, 2], value=1) propriete.SetHelpString( _(u"Sélectionnez un type d'alignement pour le texte d'introduction" )) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Texte de conclusion"))) propriete = wxpg.LongStringProperty(label=_(u"Texte de conclusion"), name="texte_conclusion", value=u"") propriete.SetHelpString( _(u"Saisissez un texte de conclusion (Aucun par défaut). Vous pouvez intégrer les mots-clés suivants : %s" ) % ", ".join(listeChamps)) self.Append(propriete) propriete = wxpg.IntProperty(label=_(u"Taille de texte de conclusion"), name="taille_texte_conclusion", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte de conclusion (9 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_conclusion", "SpinCtrl") propriete = wxpg.EnumProperty(label=_(u"Style de texte conclusion"), name="style_texte_conclusion", labels=[ _(u"Normal"), _(u"Italique"), "Gras", _(u"Italique + Gras") ], values=[0, 1, 2, 3], value=0) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.ColourProperty(label=_(u"Couleur de fond conclusion"), name="couleur_fond_conclusion", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez une couleur de fond pour le texte de conclusion") ) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.ColourProperty(label=_(u"Couleur de bord conclusion"), name="couleur_bord_conclusion", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez une couleur de bord pour le texte de conclusion") ) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.EnumProperty( label=_(u"Alignement du texte de conclusion"), name="alignement_texte_conclusion", labels=[_(u"Gauche"), _(u"Centre"), _(u"Droite")], values=[0, 1, 2], value=0) propriete.SetHelpString( _(u"Sélectionnez un type d'alignement pour le texte de conclusion" )) self.Append(propriete) # Signature self.Append(wxpg.PropertyCategory(_(u"Signature"))) propriete = wxpg.ImageFileProperty(label=_(u"Image de signature"), name="image_signature") propriete.SetHelpString( _(u"Sélectionnez l'image d'une signature à insérer en fin de document" )) self.Append(propriete) propriete = wxpg.IntProperty(label=_(u"Taille de l'image (en %)"), name="taille_image_signature", value=100) propriete.SetHelpString( _(u"Saisissez la taille de l'image en pourcentage (100 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_image_signature", "SpinCtrl") propriete = wxpg.EnumProperty( label=_(u"Alignement de l'image"), name="alignement_image_signature", labels=[_(u"Gauche"), _(u"Centre"), _(u"Droite")], values=[0, 1, 2], value=0) propriete.SetHelpString( _(u"Sélectionnez un type d'alignement pour l'image de signature")) self.Append(propriete)
def __init__(self, RunForm, parent ): wx.Notebook.__init__(self, parent, style=wx.BK_DEFAULT, size=(500, 50) ) # Create panels and pages for each of the three notebook tabs. parameterGridPanel = wx.Panel(self, -1) settingsPanel = wx.Panel(self, -1) executionPanel = wx.Panel(self, -1) self.AddPage(parameterGridPanel, "Parameter Grid") self.AddPage(settingsPanel, "Run Configuration") self.AddPage(executionPanel, "Resources and Execution") # ***** PARAMETER GRID TAB ***** parameterGridSizer = wx.BoxSizer( wx.HORIZONTAL ) RunForm.speciesGrid = ParameterGrid( parameterGridPanel, RunForm.run ) parameterGridSizer.Add( RunForm.speciesGrid, 1, wx.EXPAND ) parameterGridPanel.SetSizerAndFit( parameterGridSizer ) # Create the parameter grid control. RunForm.speciesGrid.CreateGrid( RunForm.run.species.numRows, RunForm.run.species.numColumns ) RunForm.speciesGrid.SetColLabelValue( 0, "Parameter" ) RunForm.speciesGrid.SetColLabelValue( 1, "Type") RunForm.speciesGrid.SetColLabelValue( 2, "Value(s)") RunForm.speciesGrid.SetColLabelValue( 3, "Directory Order") RunForm.speciesGrid.SetColSize( 3, 100 ) # ***** RUN SETTINGS TAB ***** runSettingsSizer = wx.BoxSizer( wx.VERTICAL ) RunForm.runPropertiesGrid = wx_propgrid.PropertyGrid( settingsPanel, size=(300, 300) ) runSettingsSizer.Add( RunForm.runPropertiesGrid, 2, wx.EXPAND ) settingsPanel.SetSizerAndFit( runSettingsSizer ) RunForm.runPropertiesGrid.Append( wx_propgrid.PropertyCategory( "Basic Script Properties" ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.StringProperty( "Script filename", "scriptFilename", RunForm.run.runSettings.scriptFilename ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.DirProperty( "Script output location", "scriptLocation", RunForm.run.runSettings.scriptLocation ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.LongStringProperty( "Run notes", "runNotes", RunForm.run.runNotes ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.PropertyCategory( "Executable Properties" ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.FileProperty( "Executable filename", "executableFilename", RunForm.run.runSettings.executableFilename ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.FileProperty( "Output filename", "outputFilename", RunForm.run.runSettings.outputFilename ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.FileProperty( "Input filename", "inputFilename", RunForm.run.runSettings.inputFilename ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.DirProperty( "Source path", "sourcePath", RunForm.run.runSettings.sourcePath ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.PropertyCategory( "Basic Script Tasks" ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.BoolProperty("Compile executable from source", "optionCompileSource", RunForm.run.runSettings.optionCompileSource ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.BoolProperty("Build directory structure", "optionBuildDirectoryStructure", RunForm.run.runSettings.optionBuildDirectoryStructure ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.BoolProperty("Disable input redirection", "optionDisableInputRedirection", RunForm.run.runSettings.optionDisableInputRedirection ) ) RunForm.runPropertiesGrid.Append( wx_propgrid.BoolProperty("Generate status check script", "optionGenerateCheckStatusScript", RunForm.run.runSettings.optionGenerateCheckStatusScript ) ) # ***** RESOURCES AND EXECUTION PANEL ***** executionSettingsSizer = wx.BoxSizer( wx.VERTICAL ) RunForm.singleMachinePropertyGrid = wx_propgrid.PropertyGrid( executionPanel ) RunForm.executionChoiceBook = wx.Choicebook( executionPanel, id=wx.ID_ANY ) executionSettingsSizer.Add( RunForm.executionChoiceBook, 1, wx.EXPAND ) executionPanel.SetSizerAndFit( executionSettingsSizer ) panelSingleMachine = wx.Panel( RunForm.executionChoiceBook ) panelPBS = wx.Panel( RunForm.executionChoiceBook ) panelSingleMachineMPI = wx.Panel( RunForm.executionChoiceBook ) panelPBSMPI = wx.Panel( RunForm.executionChoiceBook ) RunForm.executionChoiceBook.AddPage( panelSingleMachine, "Single Machine or Interactive Job (Recovery Enabled)") RunForm.executionChoiceBook.AddPage( panelPBS, "PBS Scheduler on Cluster") #RunForm.executionChoiceBook.AddPage( panelSingleMachineMPI, "Single Machine or Interactive Job using MPI") #RunForm.executionChoiceBook.AddPage( panelPBSMPI, "PBS Scheduler on Cluster using MPI") # SINGLE MACHINE SETTINGS RunForm.propertyGridSingleMachine = wx_propgrid.PropertyGrid( panelSingleMachine ) sizerGridSingleMachine = wx.BoxSizer( wx.VERTICAL ) sizerGridSingleMachine.Add( RunForm.propertyGridSingleMachine, 1, wx.EXPAND ) panelSingleMachine.SetSizerAndFit( sizerGridSingleMachine ) RunForm.propertyGridSingleMachine.Append( wx_propgrid.PropertyCategory( "Resources" ) ) RunForm.propertyGridSingleMachine.Append( wx_propgrid.IntProperty( "Number of simultaneous runs", "numSimRuns", RunForm.run.availableModules.SingleMachineResourceManager.numSimRuns ) ) RunForm.propertyGridSingleMachine.Append( wx_propgrid.IntProperty( "Process status check delay (seconds)", "procCheckWaitTime", RunForm.run.availableModules.SingleMachineResourceManager.procCheckWaitTime ) ) RunForm.propertyGridSingleMachine.Append( wx_propgrid.PropertyCategory( "Additional Commands" ) ) RunForm.propertyGridSingleMachine.Append( wx_propgrid.LongStringProperty( "Additional pre-execution commands", "additionalPreExecutionCommands", RunForm.run.availableModules.SingleMachineResourceManager.additionalPreExecutionCommands ) ) RunForm.propertyGridSingleMachine.Append( wx_propgrid.LongStringProperty( "Additional post-execution commands", "additionalPostExecutionCommands", RunForm.run.availableModules.SingleMachineResourceManager.additionalPostExecutionCommands ) ) # PBS SETTINGS RunForm.propertyGridPBS = wx_propgrid.PropertyGrid( panelPBS ) sizerGridPBS = wx.BoxSizer( wx.VERTICAL ) sizerGridPBS.Add( RunForm.propertyGridPBS, 1, wx.EXPAND ) panelPBS.SetSizerAndFit( sizerGridPBS ) RunForm.propertyGridPBS.Append( wx_propgrid.PropertyCategory( "PBS Settings" ) ) RunForm.propertyGridPBS.Append( wx_propgrid.IntProperty( "Number of nodes", "numNodes", RunForm.run.availableModules.PBSResourceManager.numNodes ) ) RunForm.propertyGridPBS.Append( wx_propgrid.IntProperty( "Processors per node (ppn)", "processorsPerNode", RunForm.run.availableModules.PBSResourceManager.processorsPerNode ) ) RunForm.propertyGridPBS.Append( wx_propgrid.StringProperty( "Walltime", "walltime", RunForm.run.availableModules.PBSResourceManager.walltime ) ) RunForm.propertyGridPBS.Append( wx_propgrid.PropertyCategory( "Additional Commands" ) ) RunForm.propertyGridPBS.Append( wx_propgrid.LongStringProperty( "Additional pre-execution commands", "additionalPreExecutionCommands", RunForm.run.availableModules.PBSResourceManager.additionalPreExecutionCommands ) ) RunForm.propertyGridPBS.Append( wx_propgrid.LongStringProperty( "Additional post-execution commands", "additionalPostExecutionCommands", RunForm.run.availableModules.PBSResourceManager.additionalPostExecutionCommands ) )
def __init__(self, parent, log): wx.Panel.__init__(self, parent, wx.ID_ANY) self.log = log self.panel = panel = wx.Panel(self, wx.ID_ANY) topsizer = wx.BoxSizer(wx.VERTICAL) # 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 | wxpg.PG_TOOLBAR) # Show help as tooltips pg.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS) pg.Bind(wxpg.EVT_PG_CHANGED, self.OnPropGridChange) pg.Bind(wxpg.EVT_PG_PAGE_CHANGED, self.OnPropGridPageChange) pg.Bind(wxpg.EVT_PG_SELECTED, self.OnPropGridSelect) pg.Bind(wxpg.EVT_PG_RIGHT_CLICK, self.OnPropGridRightClick) # # Let's use some simple custom editor # # NOTE: Editor must be registered *before* adding a property that # uses it. if not getattr(sys, '_PropGridEditorsRegistered', False): pg.RegisterEditor(TrivialPropertyEditor) pg.RegisterEditor(SampleMultiButtonEditor) pg.RegisterEditor(LargeImageEditor) # ensure we only do it once sys._PropGridEditorsRegistered = True # # Add properties # pg.AddPage("Page 1 - Testing All") 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=100)) pg.Append(wxpg.FloatProperty("Float", value=100.0)) pg.Append(wxpg.BoolProperty("Bool", value=True)) boolprop = pg.Append( wxpg.BoolProperty("Bool_with_Checkbox", value=True)) pg.SetPropertyAttribute( "Bool_with_Checkbox", # You can find the property by name, #boolprop, # or give the property object itself. "UseCheckbox", True) # The attribute name and value 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=panel.GetFont())) pg.Append( wxpg.ColourProperty("Colour", value=panel.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.PointProperty("Point",value=panel.GetPosition()) ) pg.Append(SizeProperty("Size", value=panel.GetSize())) #pg.Append( wxpg.FontDataProperty("FontData") ) 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") pg.SetPropertyAttribute("Date", wxpg.PG_DATE_PICKER_STYLE, wx.adv.DP_DROPDOWN | wx.adv.DP_SHOWCENTURY) pg.Append(wxpg.PropertyCategory("5 - Custom Properties and Editors")) pg.Append(IntProperty2("IntProperty2", value=1024)) pg.Append(PyObjectProperty("PyObjectProperty")) pg.Append(DirsProperty("Dirs1", value=['C:/Lib', 'C:/Bin'])) pg.Append(DirsProperty("Dirs2", value=['/lib', '/bin'])) # Test another type of delimiter pg.SetPropertyAttribute("Dirs2", "Delimiter", '"') # SampleMultiButtonEditor pg.Append(wxpg.LongStringProperty("MultipleButtons")) pg.SetPropertyEditor("MultipleButtons", "SampleMultiButtonEditor") pg.Append(SingleChoiceProperty("SingleChoiceProperty")) # Custom editor samples prop = pg.Append( wxpg.StringProperty("StringWithCustomEditor", value="test value")) pg.SetPropertyEditor(prop, "TrivialPropertyEditor") pg.Append(wxpg.ImageFileProperty("ImageFileWithLargeEditor")) pg.SetPropertyEditor("ImageFileWithLargeEditor", "LargeImageEditor") # When page is added, it will become the target page for AutoFill # calls (and for other property insertion methods as well) pg.AddPage("Page 2 - Results of AutoFill will appear here") topsizer.Add(pg, 1, wx.EXPAND) rowsizer = wx.BoxSizer(wx.HORIZONTAL) but = wx.Button(panel, -1, "SetPropertyValues") but.Bind(wx.EVT_BUTTON, self.OnSetPropertyValues) rowsizer.Add(but, 1) but = wx.Button(panel, -1, "GetPropertyValues") but.Bind(wx.EVT_BUTTON, self.OnGetPropertyValues) rowsizer.Add(but, 1) topsizer.Add(rowsizer, 0, wx.EXPAND) rowsizer = wx.BoxSizer(wx.HORIZONTAL) but = wx.Button(panel, -1, "GetPropertyValues(as_strings=True)") but.Bind(wx.EVT_BUTTON, self.OnGetPropertyValues2) rowsizer.Add(but, 1) but = wx.Button(panel, -1, "AutoFill") but.Bind(wx.EVT_BUTTON, self.OnAutoFill) rowsizer.Add(but, 1) topsizer.Add(rowsizer, 0, wx.EXPAND) rowsizer = wx.BoxSizer(wx.HORIZONTAL) but = wx.Button(panel, -1, "Delete") but.Bind(wx.EVT_BUTTON, self.OnDeleteProperty) rowsizer.Add(but, 1) but = wx.Button(panel, -1, "Run Tests") but.Bind(wx.EVT_BUTTON, self.RunTests) rowsizer.Add(but, 1) topsizer.Add(rowsizer, 0, wx.EXPAND) panel.SetSizer(topsizer) topsizer.SetSizeHints(panel) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(panel, 1, wx.EXPAND) self.SetSizer(sizer) self.SetAutoLayout(True)
def Remplissage(self): # Catégorie self.Append(wxpg.PropertyCategory(_(u"Tests"))) # CTRL Heure propriete = wxpg.StringProperty(label=_(u"Heure"), name="heure") propriete.SetHelpString(_(u"Sélectionnez une heure")) propriete.SetEditor("EditeurHeure") self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Mémorisation"))) # Mémorisation des paramètres propriete = wxpg.EnumProperty(label=_(u"Mémoriser les paramètres"), name="memoriser_parametres", labels=[ _(u"Non"), _(u"Uniquement sur cet ordinateur"), _(u"Pour tous les ordinateurs") ], values=[0, 1, 3], value=3) propriete.SetHelpString(_(u"Mémoriser les paramètres")) self.Append(propriete) # Répertoire de sauvegarde propriete = wxpg.DirProperty(label=_(u"Répertoire pour copie unique"), name="repertoire_copie", value="") propriete.SetHelpString( _(u"Enregistrer une copie unique de chaque document dans le répertoire sélectionné" )) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Eléments à afficher"))) # Afficher les coupons-réponse propriete = wxpg.BoolProperty(label=_(u"Afficher le coupon-réponse"), name="coupon_reponse", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher un coupon-réponse dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les messages propriete = wxpg.BoolProperty(label=_(u"Afficher les messages"), name="messages", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher les messages dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher le rappel des impayés propriete = wxpg.BoolProperty( label=_(u"Afficher le rappel des impayés"), name="impayes", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher le rappel des impayés dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les codes-barres propriete = wxpg.BoolProperty(label=_(u"Afficher les codes-barres"), name="codes_barres", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher les codes-barres dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les avis de prélèvements propriete = wxpg.BoolProperty( label=_(u"Afficher les avis de prélèvements"), name="avis_prelevements", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher les avis de prélèvements dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Titre"))) # Afficher le titre propriete = wxpg.BoolProperty(label=_(u"Afficher le titre"), name="afficher_titre", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher le titre du le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) propriete = wxpg.StringProperty(label=_(u"Titre du document"), name="titre_document", value=_(u"Facture")) propriete.SetHelpString( _(u"Saisissez le titre du document (Par défaut 'Facture')")) self.Append(propriete) propriete = wxpg.IntProperty(label=_(u"Taille de texte du titre"), name="taille_texte_titre", value=19) propriete.SetHelpString( _(u"Saisissez la taille de texte du titre (29 par défaut)")) self.Append(propriete) self.SetPropertyEditor("taille_texte_titre", "SpinCtrl") propriete = wxpg.BoolProperty( label=_(u"Afficher la période de facturation"), name="afficher_periode", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher la période de facturation dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) propriete = wxpg.IntProperty( label=_(u"Taille de texte de la période"), name="taille_texte_periode", value=8) propriete.SetHelpString( _(u"Saisissez la taille de texte de la période (8 par défaut)")) self.Append(propriete) self.SetPropertyEditor("taille_texte_periode", "SpinCtrl") # Catégorie self.Append(wxpg.PropertyCategory(_(u"Tableau des prestations"))) # Affichage condensé ou détaillé propriete = wxpg.EnumProperty( label=_(u"Affichage des prestations"), name="affichage_prestations", labels=[_(u"Détaillé"), _(u"Condensé")], values=[0, 1], value=0) propriete.SetHelpString(_(u"Sélectionnez un type d'affichage")) self.Append(propriete) # Intitulés des prestations labels = [ _(u"Intitulé original"), _(u"Intitulé original + état 'Absence injustifiée'"), _(u"Nom du tarif"), _(u"Nom de l'activité") ] propriete = wxpg.EnumProperty(label=_(u"Intitulés des prestations"), name="intitules", labels=labels, values=[0, 1, 2, 3], value=0) propriete.SetHelpString( _(u"Sélectionnez le type d'intitulé à afficher pour les prestations" )) self.Append(propriete) # Couleur 1 propriete = wxpg.ColourProperty(label=_(u"Couleur de fond 1"), name="couleur_fond_1", value=wx.Colour(255, 0, 0)) propriete.SetHelpString(_(u"Sélectionnez la couleur 1")) self.Append(propriete) # Couleur 2 propriete = wxpg.ColourProperty(label=_(u"Couleur de fond 2"), name="couleur_fond_2", value=wx.Colour(255, 0, 0)) propriete.SetHelpString(_(u"Sélectionnez la couleur 2")) self.Append(propriete) # Largeur colonne Date propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Date (ou Qté)"), name="largeur_colonne_date", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Date (50 par défaut)")) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_date", "SpinCtrl") # Largeur colonne Montant HT propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant HT"), name="largeur_colonne_montant_ht", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant HT (50 par défaut)" )) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_ht", "SpinCtrl") # Largeur colonne Montant TVA propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant TVA"), name="largeur_colonne_montant_tva", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant TVA (50 par défaut)" )) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_tva", "SpinCtrl") # Largeur colonne Montant TTC propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant TTC"), name="largeur_colonne_montant_ttc", value=70) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant TTC (70 par défaut)" )) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_ttc", "SpinCtrl") # Taille de texte du nom de l'individu propriete = wxpg.IntProperty(label=_(u"Taille de texte de l'individu"), name="taille_texte_individu", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte de l'individu (9 par défaut)")) self.Append(propriete) self.SetPropertyEditor("taille_texte_individu", "SpinCtrl") # Taille de texte du nom de l'activité propriete = wxpg.IntProperty( label=_(u"Taille de texte de l'activité"), name="taille_texte_activite", value=6) propriete.SetHelpString( _(u"Saisissez la taille de texte de l'activité (6 par défaut)")) self.Append(propriete) self.SetPropertyEditor("taille_texte_activite", "SpinCtrl") # Taille de texte des noms de colonnes propriete = wxpg.IntProperty( label=_(u"Taille de texte des noms de colonnes"), name="taille_texte_noms_colonnes", value=5) propriete.SetHelpString( _(u"Saisissez la taille de texte des noms de colonnes (5 par défaut)" )) self.Append(propriete) self.SetPropertyEditor("taille_texte_noms_colonnes", "SpinCtrl") # Taille de texte des prestations propriete = wxpg.IntProperty( label=_(u"Taille de texte de des prestations"), name="taille_texte_prestation", value=7) propriete.SetHelpString( _(u"Saisissez la taille de texte des prestations (7 par défaut)")) self.Append(propriete) self.SetPropertyEditor("taille_texte_prestation", "SpinCtrl") # Catégorie self.Append(wxpg.PropertyCategory(_(u"Autres textes"))) propriete = wxpg.LongStringProperty(label=_(u"Texte d'introduction"), name="texte_introduction", value=u"") propriete.SetHelpString( _(u"Saisissez un texte d'introduction (Aucun par défaut)")) self.Append(propriete) propriete = wxpg.IntProperty( label=_(u"Taille de texte d'introduction"), name="taille_texte_introduction", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte d'introduction (9 par défaut)")) self.Append(propriete) self.SetPropertyEditor("taille_texte_introduction", "SpinCtrl") propriete = wxpg.LongStringProperty(label=_(u"Texte de conclusion"), name="texte_conclusion", value=u"") propriete.SetHelpString( _(u"Saisissez un texte de conclusion (Aucun par défaut)")) self.Append(propriete) propriete = wxpg.IntProperty(label=_(u"Taille de texte de conclusion"), name="taille_texte_conclusion", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte de conclusion (9 par défaut)")) self.Append(propriete) self.SetPropertyEditor("taille_texte_conclusion", "SpinCtrl")
def createPropetyGrid(self, book): # Difference between using PropertyGridManager vs PropertyGrid is that # the manager supports multiple pages and a description box. self.pg = wxpg.PropertyGridManager(self.panel, style=wxpg.PG_SPLITTER_AUTO_CENTER | # wxpg.PG_AUTO_SORT | wxpg.PG_TOOLBAR) # Show help as tooltips # pg.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS) self.pg.Bind(wxpg.EVT_PG_CHANGED, self.OnPropGridChange) self.pg.Bind(wxpg.EVT_PG_PAGE_CHANGED, self.OnPropGridPageChange) self.pg.Bind(wxpg.EVT_PG_SELECTED, self.OnPropGridSelect) self.pg.Bind(wxpg.EVT_PG_RIGHT_CLICK, self.OnPropGridRightClick) # # Let's use some simple custom editor # # NOTE: Editor must be registered *before* adding a property that # uses it. if not getattr(sys, '_PropGridEditorsRegistered', False): self.pg.RegisterEditor(TrivialPropertyEditor) self.pg.RegisterEditor(SampleMultiButtonEditor) self.pg.RegisterEditor(LargeImageEditor) # ensure we only do it once sys._PropGridEditorsRegistered = True # # Add properties # self.pg.AddPage("Page 1 - Testing All") self.pg.Append(wxpg.PropertyCategory("1 - Basic Properties")) self.pg.Append(wxpg.StringProperty("Book name", value=book.bookName)) # self.pg.Append(wxpg.StringProperty("Book description", value=str(book.bookDescription or ''))) authorNames = list() if hasattr(book, 'authors'): for a in book.authors: authorNames.append(a.authorName) self.pg.Append(wxpg.StringProperty("Author(s) name", value=','.join(authorNames))) self.pg.Append(wxpg.StringProperty("Number of pages", value=str(book.numberOfPages or ''))) self.pg.Append(wxpg.IntProperty("Rating", value=long(book.rating or 0))) self.pg.SetPropertyEditor("Rating", "SpinCtrl") self.pg.Append(wxpg.EditEnumProperty("Tag", "EditEnumProperty", ['Physis', 'B', 'C'], [0, 1, 2], "Text Not in List")) try: self.pg.Append(wxpg.StringProperty("Publisher", value=str(book.publisher or ''))) except: pass self.pg.Append(wxpg.StringProperty("ISBN", value=str(book.isbn_13 or ''))) self.pg.Append(wxpg.StringProperty("Language", value=str(book.inLanguage or ''))) self.pg.Append(wxpg.PropertyCategory("2 - More Properties")) self.pg.Append(wxpg.IntProperty("id", value=book.id)) self.pg.Append(wxpg.DirProperty("File location", value=book.bookPath)) self.pg.Append(wxpg.StringProperty("File size", value=str(book.fileSize or ''))) self.pg.Append(wxpg.LongStringProperty("MultipleButtons")); self.pg.SetPropertyEditor("MultipleButtons", "SampleMultiButtonEditor"); imgPath = os.path.join(book.bookPath, book.bookImgName) self.pg.Append(wxpg.ImageFileProperty(label="Book image", value=imgPath)) # self.pg.Append(wxpg.DateProperty("Published date", value=self.pydate2wxdate(book.publishedOn))) return self.pg
def Remplissage(self): listeChamps = [ "{NUMERO_FACTURE}", "{DATE_DEBUT}", "{DATE_FIN}", "{DATE_ECHEANCE}", "{SOLDE}", "{SOLDE_LETTRES}", "{TOTAL_REPORTS}", "{NOM_LOT}", "{FAMILLE_NOM}", "{IDFAMILLE}", "{FAMILLE_RUE}", "{FAMILLE_CP}", "{FAMILLE_VILLE}", "{DATE_EDITION_LONG}", "{DATE_EDITION_COURT}", "{ORGANISATEUR_NOM}", "{ORGANISATEUR_RUE}", "{ORGANISATEUR_CP}", "{ORGANISATEUR_VILLE}", "{ORGANISATEUR_TEL}", "{ORGANISATEUR_FAX}", "{ORGANISATEUR_MAIL}", "{ORGANISATEUR_SITE}", "{ORGANISATEUR_AGREMENT}", "{ORGANISATEUR_SIRET}", "{ORGANISATEUR_APE}", ] # Catégorie self.Append(wxpg.PropertyCategory(_(u"Modèle"))) propriete = wxpg.EnumProperty(label=_(u"Modèle de document"), name="IDmodele", value=0) propriete.SetHelpString( _(u"Sélectionnez le modèle de document à utiliser")) propriete.SetEditor("EditeurComboBoxAvecBoutons") propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.MAJ_modeles() # Catégorie self.Append(wxpg.PropertyCategory(_(u"Mémorisation"))) # Mémorisation des paramètres propriete = wxpg.BoolProperty(label=_(u"Mémoriser les paramètres"), name="memoriser_parametres", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez mémoriser les paramètres de cette liste" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Répertoire de sauvegarde propriete = wxpg.DirProperty(label=_(u"Répertoire pour copie unique"), name="repertoire_copie", value="") propriete.SetHelpString( _(u"Enregistrer une copie unique de chaque document dans le répertoire sélectionné. Sinon laissez vide ce champ." )) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Eléments à afficher"))) # Affichage condensé ou détaillé propriete = wxpg.EnumProperty(label=_(u"Afficher le solde"), name="affichage_solde", labels=[_(u"Actuel"), _(u"Initial")], values=[0, 1], value=0) propriete.SetHelpString( _(u"Sélectionnez un type d'affichage pour le solde (Actuel=Solde à ce jour / Initial=Solde au moment de la génération de la facture)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Afficher le rappel des impayés propriete = wxpg.BoolProperty( label=_(u"Afficher le rappel des impayés"), name="afficher_impayes", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher le rappel des impayés dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Intégrer les impayés au solde propriete = wxpg.BoolProperty( label=_(u"Intégrer les impayés au solde"), name="integrer_impayes", value=False) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez intégrer les impayés dans le solde" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les coupons-réponse propriete = wxpg.BoolProperty(label=_(u"Afficher le coupon-réponse"), name="afficher_coupon_reponse", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher un coupon-réponse dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les messages propriete = wxpg.BoolProperty(label=_(u"Afficher les messages"), name="afficher_messages", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher les messages dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les codes-barres propriete = wxpg.BoolProperty(label=_(u"Afficher les codes-barres"), name="afficher_codes_barres", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher les codes-barres dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les règlements propriete = wxpg.BoolProperty(label=_(u"Afficher les règlements"), name="afficher_reglements", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher les règlements dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les avis de prélèvements propriete = wxpg.BoolProperty( label=_(u"Afficher les avis de prélèvements"), name="afficher_avis_prelevements", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher les avis de prélèvements dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les QF aux dates concernées propriete = wxpg.BoolProperty(label=_(u"Afficher les QF"), name="afficher_qf_dates", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher les QF aux dates concernées dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Titre"))) # Afficher le titre propriete = wxpg.BoolProperty(label=_(u"Afficher le titre"), name="afficher_titre", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher le titre du le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) propriete = wxpg.StringProperty(label=_(u"Titre du document"), name="texte_titre", value=_(u"Facture")) propriete.SetHelpString( _(u"Saisissez le titre du document (Par défaut 'Facture'). Vous pouvez intégrer les mots-clés suivants : %s" ) % ", ".join(listeChamps)) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.IntProperty(label=_(u"Taille de texte du titre"), name="taille_texte_titre", value=19) propriete.SetHelpString( _(u"Saisissez la taille de texte du titre (29 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_titre", "SpinCtrl") propriete = wxpg.BoolProperty( label=_(u"Afficher la période de facturation"), name="afficher_periode", value=True) propriete.SetHelpString( _(u"Cochez cette case si vous souhaitez afficher la période de facturation dans le document" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) propriete = wxpg.IntProperty( label=_(u"Taille de texte de la période"), name="taille_texte_periode", value=8) propriete.SetHelpString( _(u"Saisissez la taille de texte de la période (8 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_periode", "SpinCtrl") # Catégorie self.Append(wxpg.PropertyCategory(_(u"Tableau des prestations"))) # Affichage condensé ou détaillé propriete = wxpg.EnumProperty( label=_(u"Affichage des prestations"), name="affichage_prestations", labels=[ _(u"Détaillé"), _(u"Regroupement par label"), _(u"Regroupement par label et montant unitaire") ], values=[0, 1, 2], value=0) propriete.SetHelpString(_(u"Sélectionnez un type d'affichage")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Intitulés des prestations labels = [ _(u"Intitulé original"), _(u"Intitulé original + état 'Absence injustifiée'"), _(u"Nom du tarif"), _(u"Nom de l'activité") ] propriete = wxpg.EnumProperty(label=_(u"Intitulés des prestations"), name="intitules", labels=labels, values=[0, 1, 2, 3], value=0) propriete.SetHelpString( _(u"Sélectionnez le type d'intitulé à afficher pour les prestations" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur 1 propriete = wxpg.ColourProperty(label=_(u"Couleur de fond 1"), name="couleur_fond_1", value=wx.Colour(204, 204, 255)) propriete.SetHelpString(_(u"Sélectionnez la couleur 1")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur 2 propriete = wxpg.ColourProperty(label=_(u"Couleur de fond 2"), name="couleur_fond_2", value=wx.Colour(234, 234, 255)) propriete.SetHelpString(_(u"Sélectionnez la couleur 2")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Largeur colonne Date propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Date (ou Qté)"), name="largeur_colonne_date", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Date (50 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_date", "SpinCtrl") # Largeur colonne Montant HT propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant HT"), name="largeur_colonne_montant_ht", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant HT (50 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_ht", "SpinCtrl") # Largeur colonne Montant TVA propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant TVA"), name="largeur_colonne_montant_tva", value=50) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant TVA (50 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_tva", "SpinCtrl") # Largeur colonne Montant TTC propriete = wxpg.IntProperty( label=_(u"Largeur de la colonne Montant TTC"), name="largeur_colonne_montant_ttc", value=70) propriete.SetHelpString( _(u"Saisissez la largeur de la colonne Montant TTC (70 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_montant_ttc", "SpinCtrl") # Taille de texte du nom de l'individu propriete = wxpg.IntProperty(label=_(u"Taille de texte de l'individu"), name="taille_texte_individu", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte de l'individu (9 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_individu", "SpinCtrl") # Taille de texte du nom de l'activité propriete = wxpg.IntProperty( label=_(u"Taille de texte de l'activité"), name="taille_texte_activite", value=6) propriete.SetHelpString( _(u"Saisissez la taille de texte de l'activité (6 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_activite", "SpinCtrl") # Taille de texte des noms de colonnes propriete = wxpg.IntProperty( label=_(u"Taille de texte des noms de colonnes"), name="taille_texte_noms_colonnes", value=5) propriete.SetHelpString( _(u"Saisissez la taille de texte des noms de colonnes (5 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_noms_colonnes", "SpinCtrl") # Taille de texte des prestations propriete = wxpg.IntProperty( label=_(u"Taille de texte des prestations"), name="taille_texte_prestation", value=7) propriete.SetHelpString( _(u"Saisissez la taille de texte des prestations (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_prestation", "SpinCtrl") # Taille de texte des messages propriete = wxpg.IntProperty(label=_(u"Taille de texte des messages"), name="taille_texte_messages", value=7) propriete.SetHelpString( _(u"Saisissez la taille de texte des messages (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_messages", "SpinCtrl") # Taille de texte des labels totaux propriete = wxpg.IntProperty( label=_(u"Taille de texte des labels totaux"), name="taille_texte_labels_totaux", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte des labels totaux (9 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_labels_totaux", "SpinCtrl") # Taille de texte des totaux propriete = wxpg.IntProperty( label=_(u"Taille de texte des montants totaux"), name="taille_texte_montants_totaux", value=10) propriete.SetHelpString( _(u"Saisissez la taille de texte des montants totaux (10 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_montants_totaux", "SpinCtrl") # Catégorie self.Append(wxpg.PropertyCategory(_(u"Texte d'introduction"))) propriete = wxpg.LongStringProperty(label=_(u"Texte d'introduction"), name="texte_introduction", value=u"") propriete.SetHelpString( _(u"Saisissez un texte d'introduction (Aucun par défaut). Vous pouvez intégrer les mots-clés suivants : %s" ) % ", ".join(listeChamps)) self.Append(propriete) propriete = wxpg.IntProperty( label=_(u"Taille de texte d'introduction"), name="taille_texte_introduction", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte d'introduction (9 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_introduction", "SpinCtrl") propriete = wxpg.EnumProperty(label=_(u"Style de texte introduction"), name="style_texte_introduction", labels=[ _(u"Normal"), _(u"Italique"), "Gras", _(u"Italique + Gras") ], values=[0, 1, 2, 3], value=0) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.ColourProperty( label=_(u"Couleur de fond introduction"), name="couleur_fond_introduction", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez une couleur de fond pour le texte d'introduction" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.ColourProperty( label=_(u"Couleur de bord introduction"), name="couleur_bord_introduction", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez une couleur de bord pour le texte d'introduction" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.EnumProperty( label=_(u"Alignement du texte d'introduction"), name="alignement_texte_introduction", labels=[_(u"Gauche"), _(u"Centre"), _(u"Droite")], values=[0, 1, 2], value=0) propriete.SetHelpString( _(u"Sélectionnez un type d'alignement pour le texte d'introduction" )) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Texte de conclusion"))) propriete = wxpg.LongStringProperty(label=_(u"Texte de conclusion"), name="texte_conclusion", value=u"") propriete.SetHelpString( _(u"Saisissez un texte de conclusion (Aucun par défaut). Vous pouvez intégrer les mots-clés suivants : %s" ) % ", ".join(listeChamps)) self.Append(propriete) propriete = wxpg.IntProperty(label=_(u"Taille de texte de conclusion"), name="taille_texte_conclusion", value=9) propriete.SetHelpString( _(u"Saisissez la taille de texte de conclusion (9 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte_conclusion", "SpinCtrl") propriete = wxpg.EnumProperty(label=_(u"Style de texte conclusion"), name="style_texte_conclusion", labels=[ _(u"Normal"), _(u"Italique"), "Gras", _(u"Italique + Gras") ], values=[0, 1, 2, 3], value=0) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.ColourProperty(label=_(u"Couleur de fond conclusion"), name="couleur_fond_conclusion", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez une couleur de fond pour le texte de conclusion") ) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.ColourProperty(label=_(u"Couleur de bord conclusion"), name="couleur_bord_conclusion", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez une couleur de bord pour le texte de conclusion") ) propriete.SetAttribute("obligatoire", True) self.Append(propriete) propriete = wxpg.EnumProperty( label=_(u"Alignement du texte de conclusion"), name="alignement_texte_conclusion", labels=[_(u"Gauche"), _(u"Centre"), _(u"Droite")], values=[0, 1, 2], value=0) propriete.SetHelpString( _(u"Sélectionnez un type d'alignement pour le texte de conclusion" )) self.Append(propriete) # Signature self.Append(wxpg.PropertyCategory(_(u"Signature"))) propriete = wxpg.ImageFileProperty(label=_(u"Image de signature"), name="image_signature") propriete.SetHelpString( _(u"Sélectionnez l'image d'une signature à insérer en fin de document" )) self.Append(propriete) propriete = wxpg.IntProperty(label=_(u"Taille de l'image (en %)"), name="taille_image_signature", value=100) propriete.SetHelpString( _(u"Saisissez la taille de l'image en pourcentage (100 par défaut)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_image_signature", "SpinCtrl") propriete = wxpg.EnumProperty( label=_(u"Alignement de l'image"), name="alignement_image_signature", labels=[_(u"Gauche"), _(u"Centre"), _(u"Droite")], values=[0, 1, 2], value=0) propriete.SetHelpString( _(u"Sélectionnez un type d'alignement pour l'image de signature")) self.Append(propriete)
def __init__(self, parent, log): # Use the WANTS_CHARS style so the panel doesn't eat the Return key. wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS) self.log = log tID = wx.NewId() topsizer = wx.BoxSizer(wx.VERTICAL) # Difference between using PropertyGridManager vs PropertyGrid is that # the manager supports multiple pages and a description box. self.pg = pg = wxpg.PropertyGridManager( self, style=wxpg.PG_SPLITTER_AUTO_CENTER | wxpg.PG_AUTO_SORT | wxpg.PG_TOOLBAR) # |wxpg.PG_DESCRIPTION #self.pg = pg = wxpg.PropertyGrid(self, # style=wxpg.PG_SPLITTER_AUTO_CENTER|wxpg.PG_AUTO_SORT) # Show help as tooltips pg.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS | wxpg.PG_EX_MULTIPLE_SELECTION) pg.Bind(wxpg.EVT_PG_CHANGED, self.OnPropGridChange) pg.Bind(wxpg.EVT_PG_PAGE_CHANGED, self.OnPropGridPageChange) pg.Bind(wxpg.EVT_PG_SELECTED, self.OnPropGridSelect) pg.Bind(wxpg.EVT_PG_RIGHT_CLICK, self.OnPropGridRightClick) # Needed by custom image editor wx.InitAllImageHandlers() # # Let's use some simple custom editor # # NOTE: Editor must be registered *before* adding a property that # uses it. pg.RegisterEditor(TrivialPropertyEditor) pg.RegisterEditor(LargeImageEditor) # # Add properties # pg.AddPage("Page 1 - Testing All") pg.Append(wxpg.PropertyCategory("1 - Basic Properties")) pg.Append(wxpg.StringProperty("String", value="Some Text")) pg.Append(wxpg.IntProperty("Int", value=100)) pg.Append(wxpg.FloatProperty("Float", value=100.0)) 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="C:\\Windows")) pg.Append(wxpg.FileProperty("File", value="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.GetFont())) pg.Append( wxpg.ColourProperty("Colour", value=self.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.PointProperty("Point", value=self.GetPosition())) pg.Append(wxpg.SizeProperty("Size", value=self.GetSize())) pg.Append(wxpg.FontDataProperty("FontData")) pg.Append(wxpg.IntProperty("IntWithSpin", value=256)) pg.SetPropertyEditor("IntWithSpin", "SpinCtrl") pg.Append(wxpg.DirsProperty("Dirs", value=['C:/Lib', 'C:/Bin'])) pg.SetPropertyHelpString("String", "String Property help string!") pg.SetPropertyHelpString("Dirs", "Dirs Property help string!") pg.SetPropertyAttribute("File", wxpg.PG_FILE_SHOW_FULL_PATH, 0) pg.SetPropertyAttribute("File", wxpg.PG_FILE_INITIAL_PATH, "C:\\Program Files\\Internet Explorer") pg.SetPropertyAttribute("Date", wxpg.PG_DATE_PICKER_STYLE, wx.DP_DROPDOWN | wx.DP_SHOWCENTURY) pg.Append(wxpg.PropertyCategory("5 - Custom Properties")) pg.Append(IntProperty2("IntProperty2", value=1024)) pg.Append( RectProperty("RectProperty", value=wx.Rect(100, 200, 300, 400))) pg.Append(ShapeProperty("ShapeProperty", value=0)) pg.Append(PyObjectProperty("PyObjectProperty")) prop = pg.Append( wxpg.StringProperty("StringWithCustomEditor", value="test value")) pg.SetPropertyEditor(prop, "TrivialPropertyEditor") pg.Append(wxpg.ImageFileProperty("ImageFileWithLargeEditor")) pg.SetPropertyEditor("ImageFileWithLargeEditor", "LargeImageEditor") # When page is added, it will become the target page for AutoFill # calls (and for other property insertion methods as well) pg.AddPage("Page 2 - Results of AutoFill will appear here") pg.SetPropertyClientData("Point", 1234) if pg.GetPropertyClientData("Point") != 1234: raise ValueError("Set/GetPropertyClientData() failed") # Test setting unicode string pg.GetPropertyByName("String").SetValue(u"Some Unicode Text") # # Test some code that *should* fail (but not crash) try: a_ = pg.GetPropertyValue("NotARealProperty") pg.EnableProperty("NotAtAllRealProperty", False) pg.SetPropertyHelpString("AgaintNotARealProperty", "Dummy Help String") except: pass #raise topsizer.Add(pg, 1, wx.EXPAND) rowsizer = wx.BoxSizer(wx.HORIZONTAL) but = wx.Button(self, -1, "SetPropertyValues") but.Bind(wx.EVT_BUTTON, self.OnSetPropertyValues) rowsizer.Add(but, 1) but = wx.Button(self, -1, "GetPropertyValues") but.Bind(wx.EVT_BUTTON, self.OnGetPropertyValues) rowsizer.Add(but, 1) topsizer.Add(rowsizer, 0, wx.EXPAND) rowsizer = wx.BoxSizer(wx.HORIZONTAL) but = wx.Button(self, -1, "GetPropertyValues(as_strings=True)") but.Bind(wx.EVT_BUTTON, self.OnGetPropertyValues2) rowsizer.Add(but, 1) but = wx.Button(self, -1, "AutoFill") but.Bind(wx.EVT_BUTTON, self.OnAutoFill) rowsizer.Add(but, 1) topsizer.Add(rowsizer, 0, wx.EXPAND) rowsizer = wx.BoxSizer(wx.HORIZONTAL) but = wx.Button(self, -1, "Delete") but.Bind(wx.EVT_BUTTON, self.OnDeleteProperty) rowsizer.Add(but, 1) but = wx.Button(self, -1, "Run Tests") but.Bind(wx.EVT_BUTTON, self.RunTests) rowsizer.Add(but, 1) topsizer.Add(rowsizer, 0, wx.EXPAND) self.SetSizer(topsizer) topsizer.SetSizeHints(self)