예제 #1
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))
    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)
예제 #3
0
파일: PTC1.py 프로젝트: pooyagheyami/Temp5
	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()
예제 #4
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") )
예제 #5
0
 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)
예제 #6
0
 def test_propgridprops15(self):
     p1 = pg.DirProperty()
예제 #7
0
    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)
예제 #8
0
    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 ) )
예제 #9
0
    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)
예제 #10
0
    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")
예제 #11
0
    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)
예제 #13
0
    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)