def Remplissage(self): # --------------------------- COULEURS DE FOND ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Couleurs de fond")) ) # Couleur 3 propriete = wxpg.ColourProperty(label=_(u"Fond ligne entêtes"), name="couleur_fond_entetes", value=wx.Colour(204, 204, 255)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur 1 propriete = wxpg.ColourProperty(label=_(u"Fond ligne dépôt"), name="couleur_fond_depot", value=wx.Colour(230, 230, 255)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur 2 propriete = wxpg.ColourProperty(label=_(u"Fond ligne total"), name="couleur_fond_total", value=wx.Colour(204, 204, 255)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- TEXTE ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Texte")) ) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="taille_texte", value=7) propriete.SetHelpString(_(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte", "SpinCtrl") # --------------------------- COLONNES ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Colonnes")) ) # Largeur colonne labels propriete = wxpg.IntProperty(label=_(u"Largeur colonne label"), name="largeur_colonne_labels", value=170) propriete.SetHelpString(_(u"Saisissez la largeur pour la colonne label (170 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_labels", "SpinCtrl") # Largeur colonne valeurs propriete = wxpg.IntProperty(label=_(u"Largeur colonne valeur"), name="largeur_colonne_valeurs", value=45) propriete.SetHelpString(_(u"Saisissez la largeur pour la colonne valeur (45 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_valeurs", "SpinCtrl")
def AddProperty(self, property, parent_property=None): self.inAddProperty += 1 # add a cad.property, optionally to an existing wx.PGProperty if property.GetType() == cad.PROPERTY_TYPE_STRING: new_prop = wxpg.StringProperty(property.GetTitle(), value=property.GetString()) elif property.GetType() == cad.PROPERTY_TYPE_LONG_STRING: #new_prop = wxpg.LongStringProperty("MultipleButtons", wxpg.PG_LABEL) new_prop = wxpg.StringProperty(property.GetTitle(), value=property.GetString()) elif property.GetType() == cad.PROPERTY_TYPE_DOUBLE: new_prop = wxpg.FloatProperty(property.GetTitle(), value=property.GetDouble()) elif property.GetType() == cad.PROPERTY_TYPE_LENGTH: new_prop = wxpg.FloatProperty(property.GetTitle(), value=property.GetDouble() / cad.GetUnits()) elif property.GetType() == cad.PROPERTY_TYPE_INT: new_prop = wxpg.IntProperty(property.GetTitle(), value=property.GetInt()) elif property.GetType() == cad.PROPERTY_TYPE_COLOR: col = property.GetColor() wcol = wx.Colour(col.red, col.green, col.blue) new_prop = wxpg.ColourProperty(property.GetTitle(), value=wcol) elif property.GetType() == cad.PROPERTY_TYPE_CHOICE: new_prop = wxpg.EnumProperty(property.GetTitle(), labels=property.GetChoices(), value=property.GetInt()) elif property.GetType() == cad.PROPERTY_TYPE_CHECK: new_prop = wxpg.BoolProperty(property.GetTitle(), value=property.GetBool()) new_prop.SetAttribute(wxpg.PG_BOOL_USE_CHECKBOX, True) elif property.GetType() == cad.PROPERTY_TYPE_LIST: new_prop = wxpg.StringProperty(property.GetTitle(), value='<composed>') elif property.GetType() == cad.PROPERTY_TYPE_FILE: new_prop = wxpg.FileProperty(property.GetTitle(), value=property.GetString()) else: wx.MessageBox('invalid property type: ' + str(property.GetType())) return if not property.editable: new_prop.ChangeFlag(wxpg.PG_PROP_READONLY, True) self.Append(parent_property, new_prop, property) if property.GetType() == cad.PROPERTY_TYPE_LIST: plist = property.GetProperties() for p in plist: self.AddProperty(p, new_prop) new_prop.ChangeFlag(wxpg.PG_PROP_COLLAPSED, True) elif property.GetType() == cad.PROPERTY_TYPE_LONG_STRING: # Change property to use editor created in the previous code segment #self.pg.SetPropertyEditor("MultipleButtons", self.multiButtonEditor) self.pg.SetPropertyEditor(new_prop, "TrivialPropertyEditor") self.inAddProperty -= 1
def __init__(self, label, name=wxpg.LABEL_AS_NAME, value=0): wxpg.PyProperty.__init__(self, label, name) a, r, g, b = value >> 24, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF self.AddPrivateChild( wxpg.ColourProperty("RGB", value=wx.Colour(r, g, b))) self.AddPrivateChild(wxpg.IntProperty("Alpha", value=a)) self.m_value = value
def initialize_fixed_properties(self, pg): pg.Append(wxpg.StringProperty(self.SLIDE_RANGE)) pg.Append( wxpg.EnumProperty(self.IMAGE_TYPE, labels=["GIF", "JPEG", "PNG", "TIF"], value=1)) pg.Append(wxpg.DirProperty(self.OUTPUT_DIR)) pg.Append(wxpg.BoolProperty(self.CLEANUP_OUTPUT_DIR)) pg.Append(wxpg.BoolProperty(self.TRANSPARENT_IMAGE)) pg.Append(wxpg.ColourProperty(self.TRANSPARENT_COLOR))
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 _create_plot_properties(self): pg = self.property_grid_1 # pg.AddPage("Page 1 - Plot Settings") # if pages are needed, use PropertyGridManger instead dir_path = os.path.dirname(os.path.realpath(__file__)) pg.Append(wxpg.PropertyCategory("1 - Basic Properties")) pg.Append(wxpg.StringProperty(label="Title", value="Title")) pg.Append(wxpg.StringProperty(label="X Label", value="X Label")) pg.Append(wxpg.StringProperty(label="Y Label", value="Y Label")) pg.Append(wxpg.BoolProperty(label="Grid", value=True)) pg.SetPropertyAttribute(id="Grid", attrName="UseCheckbox", value=True) pg.Append(wxpg.PropertyCategory("2 - Data")) # https://discuss.wxpython.org/t/wxpython-pheonix-4-0-2-question-regarding-multichoiceproperty-and-setting-the-selection-of-the-choices/30044 # https://discuss.wxpython.org/t/how-to-set-propertygrid-values/30152/4 pg.Append( wxpg.EnumProperty( label="Scale", labels=['Linear', 'SemilogX', 'SemilogY', 'LogLog'])) pg.Append( wxpg.EnumProperty(label="X Data", name="X Data", labels=['NaN'], values=[0])) pg.Append( wxpg.MultiChoiceProperty(label="Y Data", name='Y Data', choices=['NaN'], value=['NaN'])) pg.Append( wxpg.EnumProperty(label="Data Labels", name="Data Labels", labels=['NaN'], values=[0])) pg.Append(wxpg.PropertyCategory("3 - Optional Static Plot Overlay")) pg.Append(wxpg.FileProperty(label="Overlay Plot", value=rf"{dir_path}")) pg.Append(wxpg.EnumProperty(label="X Axis Variable", labels=[''])) pg.Append(wxpg.EnumProperty(label="Y Axis Variable", labels=[''])) pg.Append(wxpg.PropertyCategory("4 - Advanced Properties")) pg.Append(wxpg.ArrayStringProperty(label="xLim", value=['0', '100'])) pg.Append(wxpg.ArrayStringProperty(label="yLim", value=['0', '100'])) pg.Append(wxpg.DateProperty(label="Date", value=wx.DateTime.Now())) pg.Append(wxpg.ColourProperty(label="Line Colour", value='#1f77b4')) pg.Append(wxpg.FontProperty(label="Font", value=self.GetFont())) pg.Grid.FitColumns()
def palette_updater(self, select): self.palette_grid.Clear() self.palette_grid.Append(pg.PropertyCategory('amount | color', 'cat')) try: palette = self.files_list[self.note.GetPageText(select)]['palette'] except KeyError: return if palette is None: return k = 0 for amount, colour in sorted(palette, key=lambda x: rgb_to_hsv(*x[1][:3]), reverse=False): if colour[3] > 0: self.palette_grid.Append( pg.ColourProperty(label=str(amount), name=str(k), value=wx.Colour(colour))) k += 1 self.palette_grid.SetSplitterPosition(70)
def Remplissage(self): listeChampsPiedsPages = ["{DATE_JOUR}", "{TITRE_DOCUMENT}", "{NUM_PAGE}", "{NBRE_PAGES}"] # --------------------------- Divers ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Divers")) ) # Inclure les images propriete = wxpg.BoolProperty(label=_(u"Inclure les images"), name="inclure_images", value=True) propriete.SetHelpString(_(u"Cochez cette case pour inclure les images")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Entete de colonne sur chaque page propriete = wxpg.BoolProperty(label=_(u"Afficher les entêtes sur chaque page"), name="entetes_toutes_pages", value=True) propriete.SetHelpString(_(u"Cochez cette case pour afficher les entêtes de colonne sur chaque page")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Qualité de l'impression labels = [_(u"Brouillon"), _(u"Basse"), _(u"Moyenne"), _(u"Haute")] propriete = wxpg.EnumProperty(label=_(u"Qualité d'impression"), name="qualite_impression", labels=labels, values=[wx.PRINT_QUALITY_DRAFT, wx.PRINT_QUALITY_LOW, wx.PRINT_QUALITY_MEDIUM, wx.PRINT_QUALITY_HIGH] , value=wx.PRINT_QUALITY_MEDIUM) propriete.SetHelpString(_(u"Sélectionnez la qualité d'impression (Moyenne par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Marges ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Marges")) ) # Gauche propriete = wxpg.IntProperty(label=_(u"Gauche"), name="marge_gauche", value=5) propriete.SetHelpString(_(u"Saisissez une taille de marge")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("marge_gauche", "SpinCtrl") # Droite propriete = wxpg.IntProperty(label=_(u"Droite"), name="marge_droite", value=5) propriete.SetHelpString(_(u"Saisissez une taille de marge")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("marge_droite", "SpinCtrl") # Haut propriete = wxpg.IntProperty(label=_(u"Haut"), name="marge_haut", value=5) propriete.SetHelpString(_(u"Saisissez une taille de marge")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("marge_haut", "SpinCtrl") # Bas propriete = wxpg.IntProperty(label=_(u"Bas"), name="marge_bas", value=5) propriete.SetHelpString(_(u"Saisissez une taille de marge")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("marge_bas", "SpinCtrl") # --------------------------- Quadrillage ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Quadrillage")) ) # Epaisseur de trait propriete = wxpg.FloatProperty(label=_(u"Epaisseur de trait"), name="grille_trait_epaisseur", value=0.25) propriete.SetHelpString(_(u"Saisissez une épaisseur de trait (Par défaut '0.25')")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur de trait propriete = wxpg.ColourProperty(label=_(u"Couleur de trait"), name="grille_trait_couleur", value=wx.BLACK) propriete.SetHelpString(_(u"Sélectionnez une couleur de trait")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Titre de liste ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Titre")) ) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="titre_taille_texte", value=16) propriete.SetHelpString(_(u"Saisissez une taille de texte (16 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("titre_taille_texte", "SpinCtrl") # Style labels = [_(u"Normal"), _(u"Light"), "Gras"] valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="titre_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_BOLD) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="titre_couleur", value=wx.BLACK) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty(label=_(u"Alignement du texte"), name="titre_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT] , value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Intro ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Introduction")) ) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="intro_taille_texte", value=7) propriete.SetHelpString(_(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("intro_taille_texte", "SpinCtrl") # Style labels = [_(u"Normal"), _(u"Light"), "Gras"] valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="intro_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="intro_couleur", value=wx.BLACK) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty(label=_(u"Alignement du texte"), name="intro_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT] , value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Titre de colonne ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Entête de colonne")) ) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="titre_colonne_taille_texte", value=8) propriete.SetHelpString(_(u"Saisissez une taille de texte (8 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("titre_colonne_taille_texte", "SpinCtrl") # Style labels = [_(u"Normal"), _(u"Light"), "Gras"] valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="titre_colonne_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="titre_colonne_couleur", value=wx.BLACK) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty(label=_(u"Alignement du texte"), name="titre_colonne_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT] , value=wx.ALIGN_CENTER) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur de fond propriete = wxpg.ColourProperty(label=_(u"Couleur de fond"), name="titre_colonne_couleur_fond", value=wx.Colour(240, 240, 240)) propriete.SetHelpString(_(u"Sélectionnez une couleur de fond")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Ligne ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Ligne")) ) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="ligne_taille_texte", value=8) propriete.SetHelpString(_(u"Saisissez une taille de texte (8 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("ligne_taille_texte", "SpinCtrl") # Style labels = [_(u"Normal"), _(u"Light"), "Gras"] valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="ligne_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="ligne_couleur", value=wx.BLACK) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Multilignes autorisé propriete = wxpg.BoolProperty(label=_(u"Autoriser saut à la ligne"), name="ligne_multilignes", value=True) propriete.SetHelpString(_(u"Cochez cette case pour autoriser le saut à la ligne en cas de colonne trop étroite")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # --------------------------- Pied de page ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Pied de page")) ) # Texte de gauche valeur = "{DATE_JOUR}" propriete = wxpg.StringProperty(label=_(u"Texte de gauche"), name="pied_page_texte_gauche", value=valeur) propriete.SetHelpString(_(u"Saisissez le texte de gauche du pied de page (Par défaut '%s'). Vous pouvez intégrer les mots-clés suivants : %s") % (valeur, ", ".join(listeChampsPiedsPages))) self.Append(propriete) # Texte du milieu valeur = "{TITRE_DOCUMENT}" propriete = wxpg.StringProperty(label=_(u"Texte du milieu"), name="pied_page_texte_milieu", value=valeur) propriete.SetHelpString(_(u"Saisissez le texte du milieu du pied de page (Par défaut '%s'). Vous pouvez intégrer les mots-clés suivants : %s") % (valeur, ", ".join(listeChampsPiedsPages))) self.Append(propriete) # Texte de droite valeur = "{NUM_PAGE} / {NBRE_PAGES}" propriete = wxpg.StringProperty(label=_(u"Texte de droite"), name="pied_page_texte_droite", value=valeur) propriete.SetHelpString(_(u"Saisissez le texte de droite du pied de page (Par défaut '%s'). Vous pouvez intégrer les mots-clés suivants : %s") % (valeur, ", ".join(listeChampsPiedsPages))) self.Append(propriete) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="pied_page_taille_texte", value=8) propriete.SetHelpString(_(u"Saisissez une taille de texte (8 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("pied_page_taille_texte", "SpinCtrl") # Style labels = [_(u"Normal"), _(u"Light"), "Gras"] valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="pied_page_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="pied_page_couleur", value=wx.BLACK) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Pied de colonne ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Pied de colonne")) ) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="pied_colonne_taille_texte", value=8) propriete.SetHelpString(_(u"Saisissez une taille de texte (8 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("pied_colonne_taille_texte", "SpinCtrl") # Style labels = [_(u"Normal"), _(u"Light"), "Gras"] valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="pied_colonne_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="pied_colonne_couleur", value=wx.BLACK) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty(label=_(u"Alignement du texte"), name="pied_colonne_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT] , value=wx.ALIGN_CENTER) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur de fond propriete = wxpg.ColourProperty(label=_(u"Couleur de fond"), name="pied_colonne_couleur_fond", value=wx.Colour(240, 240, 240)) propriete.SetHelpString(_(u"Sélectionnez une couleur de fond")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Pied de liste ------------------------------------------ self.Append( wxpg.PropertyCategory(_(u"Conclusion")) ) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="conclusion_taille_texte", value=7) propriete.SetHelpString(_(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("conclusion_taille_texte", "SpinCtrl") # Style labels = [_(u"Normal"), _(u"Light"), "Gras"] valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="conclusion_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_BOLD) propriete.SetHelpString(_(u"Sélectionnez un style de texte")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="conclusion_couleur", value=wx.BLACK) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty(label=_(u"Alignement du texte"), name="conclusion_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT] , value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete)
def Remplissage(self): # Regroupement self.Append(wxpg.PropertyCategory(_(u"Regroupement"))) # Regroupement principal liste_regroupements = [ ("aucun", _(u"Aucun")), ("jour", _(u"Jour")), ("mois", _(u"Mois")), ("annee", _(u"Année")), ("activite", _(u"Activité")), ("groupe", _(u"Groupe")), ("evenement", _(u"Evènement")), ("evenement_date", _(u"Evènement (avec date)")), ("etiquette", _(u"Etiquette")), ("unite_conso", _(u"Unité de consommation")), ("categorie_tarif", _(u"Catégorie de tarif")), ("ville_residence", _(u"Ville de résidence")), ("secteur", _(u"Secteur géographique")), ("genre", _(u"Genre (M/F)")), ("age", _(u"Age")), ("ville_naissance", _(u"Ville de naissance")), ("nom_ecole", _(u"Ecole")), ("nom_classe", _(u"Classe")), ("nom_niveau_scolaire", _(u"Niveau scolaire")), ("individu", _(u"Individu")), ("famille", _(u"Famille")), ("regime", _(u"Régime social")), ("caisse", _(u"Caisse d'allocations")), ("qf_perso", _(u"Quotient familial (tranches personnalisées)")), ("qf_tarifs", _(u"Quotient familial (tranches paramétrées)")), ("qf_100", _(u"Quotient familial (tranches de 100)")), ("categorie_travail", _(u"Catégorie de travail")), ("categorie_travail_pere", _(u"Catégorie de travail du père")), ("categorie_travail_mere", _(u"Catégorie de travail de la mère")), ] # Intégration des questionnaires q = UTILS_Questionnaires.Questionnaires() for public in ("famille", "individu"): for dictTemp in q.GetQuestions(public): label = _(u"Question %s. : %s") % (public[:3], dictTemp["label"]) code = "question_%s_%d" % (public, dictTemp["IDquestion"]) liste_regroupements.append((code, label)) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Regroupement principal"), name="regroupement_principal", liste_choix=liste_regroupements, valeur="aucun") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez un niveau de regroupement principal")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Tranches d'âge propriete = CTRL_Propertygrid.Propriete_liste( label=_(u"Regroupement par tranches d'âge"), name="regroupement_age", liste_selections=[]) propriete.SetHelpString( _(u"Saisissez les tranches d'âge souhaitées séparées par des virgules. Exemple : '3, 6, 12'" )) propriete.SetAttribute("obligatoire", False) self.Append(propriete) # Tranches de QF perso propriete = CTRL_Propertygrid.Propriete_liste( label=_(u"Regroupement par tranches de QF"), name="tranches_qf_perso", liste_selections=[]) propriete.SetHelpString( _(u"Attention, à utiliser avec le regroupement principal 'Quotient familial (tranches personnalisées)'. Saisissez les tranches de QF souhaitées séparées par des virgules. Exemple : '650, 800, 1200'" )) propriete.SetAttribute("obligatoire", False) self.Append(propriete) # Afficher les périodes détaillées propriete = wxpg.BoolProperty( label=_(u"Regroupement par périodes détaillées"), name="periodes_detaillees", value=False) propriete.SetHelpString( _(u"Cochez cette case pour afficher les périodes détaillées")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Données self.Append(wxpg.PropertyCategory(_(u"Données"))) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Format des données"), name="format_donnees", liste_choix=[("horaire", _(u"Horaire")), ("decimal", _(u"Décimal"))], valeur="horaire") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez le format d'affichage des données")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Afficher l'avertissement 'familles sans régime' propriete = wxpg.BoolProperty( label=_(u"Avertissement si régime famille inconnu"), name="afficher_regime_inconnu", value=True) propriete.SetHelpString( _(u"Cochez cette case pour afficher un avertissement si le régime d'une ou plusieurs familles est inconnu" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Associer régime inconnu DB = GestionDB.DB() req = """SELECT IDregime, nom FROM regimes ORDER BY nom;""" DB.ExecuterReq(req) liste_regimes = DB.ResultatReq() DB.Close() liste_regimes.insert(0, ("non", _(u"Non"))) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Associer régime inconnu à un régime"), name="associer_regime_inconnu", liste_choix=liste_regimes, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez le régime dans lequel vous souhaitez inclure les familles au régime inconnu" )) propriete.SetAttribute("obligatoire", False) self.Append(propriete) # Plafond journalier par individu propriete = wxpg.IntProperty( label=_(u"Plafond journalier par individu (en minutes)"), name="plafond_journalier_individu", value=0) propriete.SetHelpString( _(u"Saisissez un plafond journalier (en minutes) par individu, toutes activités confondues (0 = désactivé). Exemple : une valeur de 120 (minutes) plafonnera le temps retenu pour chaque individu à hauteur de 2 heures." )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Filtres self.Append(wxpg.PropertyCategory(_(u"Filtres"))) # Jours hors vacances liste_jours = [(0, _(u"Lundi")), (1, _(u"Mardi")), (2, _(u"Mercredi")), (3, _(u"Jeudi")), (4, _(u"Vendredi")), (5, _(u"Samedi")), (6, _(u"Dimanche"))] propriete = CTRL_Propertygrid.Propriete_multichoix( label=_(u"Jours hors vacances"), name="jours_hors_vacances", liste_choix=liste_jours, liste_selections=[0, 1, 2, 3, 4, 5, 6]) propriete.SetHelpString( _(u"Sélectionnez les jours hors vacances à inclure dans les calculs. Cliquez sur le bouton à droite du champ de saisie pour accéder à la fenêtre de sélection." )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Jours de vacances propriete = CTRL_Propertygrid.Propriete_multichoix( label=_(u"Jours de vacances"), name="jours_vacances", liste_choix=liste_jours, liste_selections=[0, 1, 2, 3, 4, 5, 6]) propriete.SetHelpString( _(u"Sélectionnez les jours de vacances à inclure dans les calculs. Cliquez sur le bouton à droite du champ de saisie pour accéder à la fenêtre de sélection." )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Etat des consommations self.liste_codes_etats = [ "reservation", "present", "absentj", "absenti" ] liste_etats = [(0, _(u"Pointage en attente")), (1, _(u"Présent")), (2, _(u"Absence justifiée")), (3, _(u"Absence injustifiée"))] propriete = CTRL_Propertygrid.Propriete_multichoix( label=_(u"Etat des consommations"), name="etat_consommations", liste_choix=liste_etats, liste_selections=[0, 1, 2, 3]) propriete.SetHelpString( _(u"Sélectionnez les états de consommations à inclure dans les calculs. Cliquez sur le bouton à droite du champ de saisie pour accéder à la fenêtre de sélection." )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Affichage self.Append(wxpg.PropertyCategory(_(u"Affichage"))) # Orientation page propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Orientation de la page"), name="orientation", liste_choix=[("portrait", _(u"Portrait")), ("paysage", _(u"Paysage"))], valeur="portrait") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur Ligne tranche d'âge propriete = wxpg.ColourProperty( label=_(u"Couleur de la ligne tranche d'âge"), name="couleur_ligne_age", value=wx.Colour(192, 192, 192)) propriete.SetHelpString( _(u"Sélectionnez la couleur de la ligne tranche d'âge")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur Ligne total propriete = wxpg.ColourProperty(label=_(u"Couleur de la ligne total"), name="couleur_ligne_total", value=wx.Colour(234, 234, 234)) propriete.SetHelpString( _(u"Sélectionnez la couleur de la ligne total")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur case regroupement principal propriete = wxpg.ColourProperty( label=_(u"Couleur de la case regroupement principal"), name="couleur_case_regroupement", value=wx.Colour(0, 0, 0)) propriete.SetHelpString( _(u"Sélectionnez la couleur de la case regroupement principal")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur texte regroupement principal propriete = wxpg.ColourProperty( label=_(u"Couleur du texte regroupement principal"), name="couleur_texte_regroupement", value=wx.Colour(255, 255, 255)) propriete.SetHelpString( _(u"Sélectionnez la couleur du texte regroupement principal")) propriete.SetAttribute("obligatoire", True) self.Append(propriete)
def Remplissage(self): # --------------------------- TYPE DE DOCUMENT------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Type de document"))) # Type propriete = wxpg.EnumProperty( label=_(u"Type"), name="type_document", labels=[_(u"Détaillé"), _(u"Simplifié"), _(u"Totaux")], values=[0, 1, 2], value=0) propriete.SetHelpString(_(u"Sélectionnez un type de document")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- COULEURS DE FOND ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Couleurs de fond"))) # Couleur 3 propriete = wxpg.ColourProperty(label=_(u"Fond ligne entêtes"), name="couleur_fond_3", value=wx.Colour(230, 230, 255)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur 1 propriete = wxpg.ColourProperty(label=_(u"Fond ligne dépôt"), name="couleur_fond_1", value=wx.Colour(204, 204, 255)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur 2 propriete = wxpg.ColourProperty(label=_(u"Fond ligne total"), name="couleur_fond_2", value=wx.Colour(230, 230, 255)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- TITRE ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Titre"))) # Texte propriete = wxpg.StringProperty( label=_(u"Texte"), name="titre_texte", value=_(u"Récapitulatif des factures")) propriete.SetHelpString(_(u"Saisissez un texte")) self.Append(propriete) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="titre_taille_texte", value=16) propriete.SetHelpString( _(u"Saisissez une taille de texte (16 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("titre_taille_texte", "SpinCtrl") # Couleur ## propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="titre_couleur", value=wx.BLACK) ## propriete.SetHelpString(_(u"Sélectionnez une couleur")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty( label=_(u"Alignement du texte"), name="titre_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT], value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- INTRODUCTION ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Introduction"))) # Texte propriete = wxpg.StringProperty(label=_(u"Texte"), name="intro_texte", value=u"") propriete.SetHelpString(_(u"Saisissez un texte")) self.Append(propriete) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="intro_taille_texte", value=7) propriete.SetHelpString( _(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("intro_taille_texte", "SpinCtrl") # Style ## labels = [_(u"Normal"), _(u"Light"), "Gras"] ## valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] ## propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="intro_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_NORMAL) ## propriete.SetHelpString(_(u"Sélectionnez un style de texte")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Couleur ## propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="intro_couleur", value=wx.BLACK) ## propriete.SetHelpString(_(u"Sélectionnez une couleur")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty( label=_(u"Alignement du texte"), name="intro_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT], value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- CONCLUSION ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Conclusion"))) # Texte propriete = wxpg.StringProperty( label=_(u"Texte"), name="conclusion_texte", value=_( u"{NBRE_FACTURES} factures | Montant total : {TOTAL_FACTURES}") ) propriete.SetHelpString( _(u"Saisissez un texte. Vous pouvez utiliser les mots-clés suivants : {NBRE_FACTURES}, {TOTAL_FACTURES}, {NBRE_FACT_PRELEV}, {TOTAL_FACT_PRELEV}" )) self.Append(propriete) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="conclusion_taille_texte", value=7) propriete.SetHelpString( _(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("conclusion_taille_texte", "SpinCtrl") # Style ## labels = [_(u"Normal"), _(u"Light"), "Gras"] ## valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] ## propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="conclusion_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_BOLD) ## propriete.SetHelpString(_(u"Sélectionnez un style de texte")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Couleur ## propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="conclusion_couleur", value=wx.BLACK) ## propriete.SetHelpString(_(u"Sélectionnez une couleur")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty( label=_(u"Alignement du texte"), name="conclusion_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT], value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete)
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 Remplissage(self): # Catégorie self.Append(wxpg.PropertyCategory(_(u"Données"))) # Afficher uniquement les individus avec infos propriete = wxpg.BoolProperty(label=_(u"Afficher uniquement individus avec infos"), name="individus_avec_infos", value=False) propriete.SetHelpString(_(u"Cochez cette case pour afficher uniquement les individus avec infos")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Page"))) # Orientation page propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Orientation de la page"), name="orientation", liste_choix=[("automatique", _(u"Automatique")), ("portrait", _(u"Portrait")), ("paysage", _(u"Paysage"))], valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Lignes"))) # Tri liste_choix = [("nom", _(u"Nom")), ("prenom", _(u"Prénom")), ("age", _(u"Âge"))] propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Tri"), name="tri", liste_choix=liste_choix, valeur="nom") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez le tri")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Ordre liste_choix = [("croissant", _(u"Croissant")), ("decroissant", _(u"Décroissant"))] propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Ordre"), name="ordre", liste_choix=liste_choix, valeur="croissant") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez l'ordre")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Afficher lignes vierges propriete = wxpg.IntProperty(label=_(u"Lignes vierges"), name="nbre_lignes_vierges", value=3) propriete.SetEditor("SpinCtrl") propriete.SetHelpString(_(u"Nombre de lignes vierges à afficher en fin de liste")) propriete.SetAttribute("obligatoire", True) propriete.SetAttribute("Min", 0) self.Append(propriete) # Insérer saut de page après groupe propriete = wxpg.BoolProperty(label=_(u"Insérer saut de page après groupe"), name="saut_page_groupe", value=True) propriete.SetHelpString(_(u"Cochez cette case pour insérer un saut de page après chaque groupe")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Couleur du fond d'entête de colonne propriete = wxpg.ColourProperty(label=_(u"Couleur ligne des entêtes"), name="couleur_fond_entetes", value=wx.Colour(208, 208, 208) ) propriete.SetHelpString(_(u"Sélectionnez la couleur de fond de la ligne des entêtes")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonne Photo"))) # Afficher les photos liste_choix = [("non", _(u"Non")), ("petite", _(u"Petite taille")), ("moyenne", _(u"Moyenne taille")), ("grande", _(u"Grande taille"))] propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Afficher les photos"), name="afficher_photos", liste_choix=liste_choix, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Afficher les photos individuelles")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonne Individu"))) # Largeur colonne nom liste_choix = [("automatique", _(u"Automatique")),] for x in range(5, 305, 5): liste_choix.append((str(x), "%d pixels" % x)) propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur de la colonne"), name="largeur_colonne_nom", liste_choix=liste_choix, valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez la largeur de la colonne Nom de l'individu (en pixels)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonne Âge"))) # Afficher l'âge des individus propriete = wxpg.BoolProperty(label=_(u"Afficher la colonne"), name="afficher_age", value=True) propriete.SetHelpString(_(u"Cochez cette case pour afficher de la colonne de l'âge des individus")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Largeur colonne âge liste_choix = [("automatique", _(u"Automatique")),] for x in range(5, 305, 5): liste_choix.append((str(x), "%d pixels" % x)) propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur de la colonne"), name="largeur_colonne_age", liste_choix=liste_choix, valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez la largeur de la colonne Âge de l'individu (en pixels)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete)
def Remplissage(self): # Affichage self.Append(wxpg.PropertyCategory(_(u"Affichage"))) # Période à afficher # date_debut = DICT_INFOS_IMPRESSION["date_debut"] # date_fin = DICT_INFOS_IMPRESSION["date_fin"] # if date_debut != None and date_fin != None : # # propriete = wxpg.StringProperty(label=_(u"Date de début"), name="date_debut", value=UTILS_Dates.DateDDEnFr(date_debut)) # propriete.SetEditor("EditeurDate") # self.Append(propriete) # # propriete = wxpg.StringProperty(label=_(u"Date de fin"), name="date_fin", value=UTILS_Dates.DateDDEnFr(date_fin)) # propriete.SetEditor("EditeurDate") # self.Append(propriete) # Masquer dates anciennes propriete = wxpg.BoolProperty(label=_(u"Masquer les anciennes dates"), name="masquer_dates_anciennes", value=False) propriete.SetHelpString( _(u"Cochez cette case pour masquer les dates passées")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher observations propriete = wxpg.BoolProperty(label=_(u"Afficher les observations"), name="afficher_observations", value=False) propriete.SetHelpString( _(u"Cochez cette case pour afficher les observations")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Page self.Append(wxpg.PropertyCategory(_(u"Page"))) # Orientation page propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Orientation de la page"), name="orientation", liste_choix=[("portrait", _(u"Portrait")), ("paysage", _(u"Paysage"))], valeur="portrait") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.Append(wxpg.PropertyCategory(_(u"Couleurs de fond"))) # Couleur propriete = wxpg.ColourProperty(label=_(u"Fond entêtes"), name="couleur_fond_entetes", value=wx.Colour(230, 230, 230)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Fond colonne total"), name="couleur_fond_total", value=wx.Colour(245, 245, 245)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.Append(wxpg.PropertyCategory(_(u"Texte"))) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="taille_texte", value=7) propriete.SetHelpString( _(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte", "SpinCtrl") # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte du titre"), name="taille_texte_titre", value=9) propriete.SetHelpString( _(u"Saisissez une taille de texte (9 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte", "SpinCtrl") self.Append(wxpg.PropertyCategory(_(u"Colonnes"))) # Largeur automatique propriete = wxpg.BoolProperty(label=_(u"Largeur auto ajustée"), name="largeur_colonnes_auto", value=True) propriete.SetHelpString( _(u"Cochez cette case pour laisser Noethys ajuster la largeur des colonnes automatiquement" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Largeur colonne labels propriete = wxpg.IntProperty(label=_(u"Largeur colonne date"), name="largeur_colonne_date", value=110) propriete.SetHelpString( _(u"Saisissez la largeur pour la colonne date (110 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_date", "SpinCtrl")
def color(self, item, name, val): c = wx.Colour(val["r"] * 255, val["g"] * 255, val["b"] * 255) cp = wxpg.ColourProperty(item["name"], name, value=c) cp.AppendChild(wxpg.FloatProperty("alpha", "a", value=val["a"])) return cp
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 test_propgridadvprops06(self): p = pg.ColourProperty()
def Remplissage(self): # Période à afficher # date_debut = UTILS_Dates.ConvertDateDTenWX(DICT_INFOS_IMPRESSION["date_debut"]) # date_fin = UTILS_Dates.ConvertDateDTenWX(DICT_INFOS_IMPRESSION["date_fin"]) # # if date_debut != None and date_fin != None : # # Affichage # self.Append(wxpg.PropertyCategory(_(u"Affichage"))) # # propriete = wxpg.DateProperty(label=_(u"Date de début"), name="date_debut", value=wx.DateTime_Now()) # propriete.SetAttribute(wxpg.PG_DATE_PICKER_STYLE, wx.DP_DROPDOWN|wx.DP_SHOWCENTURY ) # self.Append(propriete) # # propriete = wxpg.DateProperty(label=_(u"Date de fin"), name="date_fin", value=wx.DateTime_Now()) # propriete.SetAttribute(wxpg.PG_DATE_PICKER_STYLE, wx.DP_DROPDOWN|wx.DP_SHOWCENTURY ) # self.Append(propriete) # Page self.Append(wxpg.PropertyCategory(_(u"Page"))) # Orientation page propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Orientation de la page"), name="orientation", liste_choix=[("portrait", _(u"Portrait")), ("paysage", _(u"Paysage"))], valeur="portrait") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.Append(wxpg.PropertyCategory(_(u"Couleurs de fond"))) # Couleur propriete = wxpg.ColourProperty(label=_(u"Fond entêtes"), name="couleur_fond_entetes", value=wx.Colour(230, 230, 230)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=_(u"Fond colonne total"), name="couleur_fond_total", value=wx.Colour(245, 245, 245)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.Append(wxpg.PropertyCategory(_(u"Texte"))) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="taille_texte", value=7) propriete.SetHelpString( _(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte", "SpinCtrl") # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte du titre"), name="taille_texte_titre", value=9) propriete.SetHelpString( _(u"Saisissez une taille de texte (9 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("taille_texte", "SpinCtrl") self.Append(wxpg.PropertyCategory(_(u"Colonnes"))) # Largeur automatique propriete = wxpg.BoolProperty(label=_(u"Largeur auto ajustée"), name="largeur_colonnes_auto", value=True) propriete.SetHelpString( _(u"Cochez cette case pour laisser Noethys ajuster la largeur des colonnes automatiquement" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Largeur colonne labels propriete = wxpg.IntProperty(label=_(u"Largeur colonne date"), name="largeur_colonne_date", value=110) propriete.SetHelpString( _(u"Saisissez la largeur pour la colonne date (110 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("largeur_colonne_date", "SpinCtrl")
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 UpdateHeaderValues(self): # clear the existing general page self._general_page.Clear() # get main frame widget - abort if something goes wrong # for instance - handle case where all tabs are closed try: try: image = component.getUtility(ICurrentImage) except component.ComponentLookupError: # no image is loaded return header = image.GetHeader().copy() dicom_header = image.GetDICOMHeader() pageState = component.getUtility( ICurrentViewportManager).GetPageState() except: logging.exception("ImageInfo") return # if page isn't an image, get out of here early if pageState.GetPageType() != "image": return # remove hidden properties # Update all text fields in the dialog box # Title val = dicom_header.PatientsName if isinstance(val, list): val = '\\'.join(val) properties = { 'Image Properties': [], 'Patient/Subject Info': [], 'Scan Properties': [], 'Reconstruction Properties': [], "Display Properties": [], 'Additional Properties': [] } prop = Property("Image Properties", "Number of Channels", image.GetNumberOfScalarComponents(), int, True) properties[prop.category].append(prop) spacing = image.GetSpacing() origin = image.GetOrigin() (SizeX, SizeY, SizeZ) = image.GetDimensions() _range = image.GetScalarRange() _size = SizeX * SizeY * SizeZ * image.GetScalarSize( ) * image.GetNumberOfScalarComponents() prop = Property("Image Properties", "Minimum Value", float(_range[0]), float, True) properties[prop.category].append(prop) prop = Property("Image Properties", "Maximum Value", float(_range[1]), float, True) properties[prop.category].append(prop) prop = Property( "Image Properties", "Voxel Size (mm)", "%.4F %.4F %.4F" % (spacing[0], spacing[1], spacing[2]), str, True) properties[prop.category].append(prop) prop = Property("Image Properties", "Image Origin (mm)", "%.4F %.4F %.4F" % (origin[0], origin[1], origin[2]), str, True) properties[prop.category].append(prop) prop = Property("Image Properties", "Image Bit-depth", int(image.GetScalarSize() * 8), int, True) properties[prop.category].append(prop) prop = Property("Image Properties", "Image Data Type", image.GetScalarTypeAsString(), str, True) properties[prop.category].append(prop) prop = Property("Image Properties", "Dimensions", "%d %d %d" % (SizeX, SizeY, SizeZ), str, True) properties[prop.category].append(prop) prop = Property("Image Properties", "Memory Required", self.sizeof_fmt(_size), str, True) properties[prop.category].append(prop) prop = Property("Patient/Subject Info", "Title", str(val).encode('utf-8'), str, False) properties[prop.category].append(prop) val = dicom_header.SeriesDescription prop = Property("Patient/Subject Info", "Subject", str(val).encode('utf-8'), str, False) properties[prop.category].append(prop) if 'PatientPosition' in dicom_header: pos = dicom_header.PatientPosition else: pos = '' if pos in self.patient_positions: index = self.patient_positions.keys().index(pos) else: index = 0 prop = Property("Patient/Subject Info", "Patient Position", index, self.patient_positions.values(), False) properties[prop.category].append(prop) # Modality modality = dicom_header.Modality if modality in self.modtostring: index = self.modtostring.keys().index(modality) else: index = 0 prop = Property("Scan Properties", "Modality", index, self.modtostring.values(), False) properties[prop.category].append(prop) try: _d = image.GetDate() # DICOM-style date dmy = None try: year, month, day = int(_d[0:4]), int(_d[4:6]), int(_d[6:8]) except: logging.error("Unable to parse DICOM date: {0}".format(_d)) _t = image.GetTime() # DICOM_style time try: hour, minute, second, microsecond = int(_t[0:2]), int( _t[2:4]), int(_t[4:6]), _t[6:] dmy = (day, month - 1, year) except: logging.error("Unable to parse DICOM time: {0}".format(_t)) if dmy: prop = Property("Scan Properties", "Date", wx.DateTimeFromDMY(*dmy), wx.DateTime, False) properties[prop.category].append(prop) except: logging.exception("UpdateHeaderValues") # Scan-related fields (deprecated) scan_mapping = { 'spacingunit': (str, 'Measurement Unit'), } # handle old-style keywords (deprecated) for key in header: if key.startswith('scan_') or key.startswith('scanner_'): if key in scan_mapping: dtype, label = scan_mapping[key] else: dtype, label = (str, key) if dtype == float or isinstance(header[key], float): prop = Property("Scan Properties", label, float(header[key]), float, False) elif dtype == int or isinstance(header[key], int): prop = Property("Scan Properties", label, int(header[key]), int, False) else: prop = Property("Scan Properties", label, str(header[key]), str, False) properties[prop.category].append(prop) # scan-related DICOM fields dicom_scan_fields = { 'ExposureTime': (float, 'Exposure Time (ms)'), 'KVP': (float, 'X-Ray Voltage (kVp)'), 'XRayTubeCurrent': (float, 'X-Ray Tube Current (mA)'), 'XRayTubeCurrentInmA': (float, u'X-Ray Tube Current (mA)'), 'XRayTubeCurrentInuA': (float, u'X-Ray Tube Current (\u00b5A)'), 'DistanceSourceToPatient': (float, 'Object Position (mm)'), 'DistanceSourceToDetector': (float, 'Detector Position (mm)'), 'Manufacturer': (str, 'Scanner Manufacturer'), 'ManufacturerModelName': (str, 'Scanner Model'), 'ProtocolName': (str, 'Protocol Name'), } # handle DICOM keywords for key in dicom_scan_fields: if key in dicom_header: dtype, label = dicom_scan_fields[key] value = dicom_header.get(key) if dtype == float: try: value = float(value) prop = Property("Scan Properties", label, value, float, False) properties[prop.category].append(prop) continue except: dtype = str elif dtype == int: try: value = int(value) prop = Property("Scan Properties", label, value, int, False) properties[prop.category].append(prop) continue except: dtype = str prop = Property("Scan Properties", label, str(dicom_header.get(key)), str, False) properties[prop.category].append(prop) # Reconstruction-related fields recon_property_created = False recon_mapping = { 'recon_sw_version': (str, 'Software Version'), 'recon_git_sha1': (str, 'Software SHA1'), 'recon_date': (str, 'Reconstruction Date'), 'recon_center_of_rotation': (float, 'Center of Rotation'), 'recon_central_slice': (float, 'Central Slice'), 'recon_filter_type': (str, 'Filter Type'), 'recon_auth': (int, 'Reconstruction Authorized'), 'recon_cmdLine': (str, 'Commandline'), 'recon_gate_delay_us': (float, u'Gating delay (\u00b5s)'), 'recon_gate_window_us': (float, u'Gating window (\u00b5s)'), 'ct_recon_macaddr': (str, 'Ethernet Address'), 'ct_recon_every_nth_proj': (int, 'View Skip'), 'ct_cone_angle': (float, 'Cone Angle (deg)') } for key in header.keys(): if key.startswith('recon_') or key.startswith( 'ct_recon_') or key in ('y_bin', 'z_bin'): if key in recon_mapping: dtype, label = recon_mapping[key] else: dtype, label = (str, key) if dtype == float: prop = Property("Reconstruction Properties", label, float(header[key]), float, False) properties[prop.category].append(prop) else: prop = Property("Reconstruction Properties", label, str(header[key]), str, False) properties[prop.category].append(prop) del (header[key]) try: if modality == 'CT': prop = Property("Reconstruction Properties", "Air Value", float(header.get('air', 0.0)), float, False) properties[prop.category].append(prop) prop = Property("Reconstruction Properties", "Water Value", float(header.get('water', 0.0)), float, False) properties[prop.category].append(prop) prop = Property("Reconstruction Properties", "Bone Value (HU", int(header.get('boneHU', 0)), int, False) properties[prop.category].append(prop) except: pass self._general_page.Append(wxpg.PropertyCategory("Display Properties")) prop = Property("Display Properties", "Texture Interpolation", bool(self._config.bInterpolateTextures), bool, False) properties[prop.category].append(prop) numC = image.GetNumberOfScalarComponents() prop = Property("Display Properties", "Colour Table", pageState.lut_index, self.LD.get_names(), False, disabled=(numC > 1)) properties[prop.category].append(prop) # grab configuration object, see if there's any colour info in there try: root = MicroViewObjectShelve.MicroViewObjectShelve.getObject( ).getRoot() state = root['options.pane3D.background'] bg1 = state.GetTopColour() bg2 = state.GetBottomColour() use_gradient = state.GetGradientState() except: bg1 = bg2 = (0, 0, 0) use_gradient = True # for the moment, colour editing shall be disabled prop = Property("Display Properties", "Background Colour #1", bg1, tuple, False) properties[prop.category].append(prop) prop = Property("Display Properties", "Background Colour #2", bg2, tuple, False) properties[prop.category].append(prop) prop = Property("Display Properties", "Enable Background Gradient", use_gradient, bool, False) properties[prop.category].append(prop) # everything else for key in header: _k = key.lower() if not (_k.startswith('recon_') or _k.startswith('scan_') or _k.startswith('scanner_') or _k.startswith('hidden')): if key.lower() not in ('size', 'air', 'water', 'bonehu', 'y_bin', 'z_bin'): try: prop = Property("Additional Properties", key, str(header[key]), str, False) properties[prop.category].append(prop) except: logging.warning("duplicate tag: {0}".format(key)) _filter = None if self._search_filter: _filter = self._search_filter.lower() _filter = _filter.split() added_categories = [] for category in properties: for property in properties[category]: name = property.name value = property.value # apply filter should_display = False if _filter: for _f in _filter: if _f in unicode(name).lower() or _f in unicode( repr(value)).lower(): should_display = True break if not should_display: continue if category not in added_categories: added_categories.append(category) self._general_page.Append(wxpg.PropertyCategory(category)) if property.value_type is int: _id = wxpg.IntProperty(property.name, value=property.value) elif property.value_type is float: _id = wxpg.FloatProperty(property.name, value=property.value) elif property.value_type is str: _id = wxpg.StringProperty(property.name, value=property.value) elif isinstance(property.value_type, list): # enum _id = wxpg.EnumProperty(property.name, property.name, property.value_type, range(len(property.value_type)), property.value) elif property.value_type is wx.DateTime: # date _id = wxpg.DateProperty(property.name, value=property.value) _id.SetAttribute(wxpg.PG_DATE_PICKER_STYLE, wx.DP_DROPDOWN | wx.DP_SHOWCENTURY) elif property.value_type is bool: _id = wxpg.BoolProperty(property.name, value=property.value) elif property.value_type is tuple: _id = wxpg.ColourProperty(property.name, value=property.value) self._general_page.Append(_id) if property.read_only: _id.ChangeFlag(wxpg.PG_PROP_READONLY, True) if property.disabled: self._general_page.DisableProperty(_id)
def Remplissage(self): listeChampsPiedsPages = [ "{DATE_JOUR}", "{TITRE_DOCUMENT}", "{NOM_ORGANISATEUR}", "{NUM_PAGE}", "{NBRE_PAGES}" ] # --------------------------- Divers ------------------------------------------ self.Append(wxpg.PropertyCategory("Divers")) # Inclure les images propriete = wxpg.BoolProperty(label=INCLURE_IMG_LABEL, name="inclure_images", value=True) propriete.SetHelpString(INCLURE_IMG_HELP) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Entete de colonne sur chaque page propriete = wxpg.BoolProperty(label=AFFICHER_ENTETE_LABEL, name="entetes_toutes_pages", value=True) propriete.SetHelpString(AFFICHER_ENTETE_HELP) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Qualité de l'impression propriete = wxpg.EnumProperty(label=CHOIX_QUALITE_LABEL, name="qualite_impression", labels=CHOIX_QUALITE_LABELS, values=CHOIX_QUALITE_VALEURS, value=wx.PRINT_QUALITY_MEDIUM) propriete.SetHelpString(CHOIX_QUALITE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Marges ------------------------------------------ self.Append(wxpg.PropertyCategory("Marges")) # Gauche propriete = wxpg.IntProperty(label=MARGE_GAUCHE_LABEL, name="marge_gauche", value=5) propriete.SetHelpString(TAILLE_MARGE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("marge_gauche", "SpinCtrl") # Droite propriete = wxpg.IntProperty(label=MARGE_DROITE_LABEL, name="marge_droite", value=5) propriete.SetHelpString(TAILLE_MARGE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("marge_droite", "SpinCtrl") # Haut propriete = wxpg.IntProperty(label=MARGE_HAUT_LABEL, name="marge_haut", value=5) propriete.SetHelpString(TAILLE_MARGE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("marge_haut", "SpinCtrl") # Bas propriete = wxpg.IntProperty(label=MARGE_BAS_LABEL, name="marge_bas", value=5) propriete.SetHelpString(TAILLE_MARGE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("marge_bas", "SpinCtrl") # --------------------------- Quadrillage ------------------------------------------ self.Append(wxpg.PropertyCategory("Quadrillage")) # Epaisseur de trait propriete = wxpg.FloatProperty(label=EPAISSEUR_TRAIT_LABEL, name="grille_trait_epaisseur", value=0.25) propriete.SetHelpString(EPAISSEUR_TRAIT_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur de trait propriete = wxpg.ColourProperty(label=COULEUR_TRAIT_LABEL, name="grille_trait_couleur", value=wx.BLACK) propriete.SetHelpString(COULEUR_TRAIT_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Titre de liste ------------------------------------------ self.Append(wxpg.PropertyCategory("Titre")) # Taille police propriete = wxpg.IntProperty(label=TAILLE_TEXTE_LABEL, name="titre_taille_texte", value=16) propriete.SetHelpString(TAILLE_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("titre_taille_texte", "SpinCtrl") # Style propriete = wxpg.EnumProperty(label=STYLE_TEXTE_LABEL, name="titre_style", labels=STYLE_TEXTE_LABELS, values=STYLE_TEXTE_VALEURS, value=wx.FONTWEIGHT_BOLD) propriete.SetHelpString(STYLE_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=COULEUR_TEXTE_LABEL, name="titre_couleur", value=wx.BLACK) propriete.SetHelpString(COULEUR_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement labels = ["Gauche", "Centre", "Droite"] propriete = wxpg.EnumProperty(label=ALIGNEMENT_TEXTE_LABEL, name="titre_alignement", labels=ALIGNEMENT_TEXTE_LABELS, values=ALIGNEMENT_TEXTE_VALUES, value=wx.ALIGN_LEFT) propriete.SetHelpString(ALIGNEMENT_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Intro ------------------------------------------ self.Append(wxpg.PropertyCategory("Introduction")) # Taille police propriete = wxpg.IntProperty(label=TAILLE_TEXTE_LABEL, name="intro_taille_texte", value=7) propriete.SetHelpString(TAILLE_TEXTE_INTRO_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("intro_taille_texte", "SpinCtrl") # Style propriete = wxpg.EnumProperty(label=STYLE_TEXTE_LABEL, name="intro_style", labels=STYLE_TEXTE_LABELS, values=STYLE_TEXTE_VALEURS, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(STYLE_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=COULEUR_TEXTE_LABEL, name="intro_couleur", value=wx.BLACK) propriete.SetHelpString(COULEUR_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement propriete = wxpg.EnumProperty(label=ALIGNEMENT_TEXTE_LABEL, name="intro_alignement", labels=ALIGNEMENT_TEXTE_LABELS, values=ALIGNEMENT_TEXTE_VALUES, value=wx.ALIGN_LEFT) propriete.SetHelpString(ALIGNEMENT_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Titre de colonne ------------------------------------------ self.Append(wxpg.PropertyCategory("Entête de colonne")) # Taille police propriete = wxpg.IntProperty(label=TAILLE_TEXTE_LABEL, name="titre_colonne_taille_texte", value=8) propriete.SetHelpString(TAILLE_TEXTE_TITRE_COL_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("titre_colonne_taille_texte", "SpinCtrl") # Style propriete = wxpg.EnumProperty(label=STYLE_TEXTE_LABEL, name="titre_colonne_style", labels=STYLE_TEXTE_LABELS, values=STYLE_TEXTE_VALEURS, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(STYLE_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=COULEUR_TEXTE_LABEL, name="titre_colonne_couleur", value=wx.BLACK) propriete.SetHelpString(COULEUR_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement propriete = wxpg.EnumProperty(label=ALIGNEMENT_TEXTE_LABEL, name="titre_colonne_alignement", labels=ALIGNEMENT_TEXTE_LABELS, values=ALIGNEMENT_TEXTE_VALUES, value=wx.ALIGN_CENTER) propriete.SetHelpString(ALIGNEMENT_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur de fond propriete = wxpg.ColourProperty(label=COULEUR_FOND_LABEL, name="titre_colonne_couleur_fond", value=wx.Colour(240, 240, 240)) propriete.SetHelpString(COULEUR_FOND_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Ligne ------------------------------------------ self.Append(wxpg.PropertyCategory("Ligne")) # Taille police propriete = wxpg.IntProperty(label=TAILLE_TEXTE_LABEL, name="ligne_taille_texte", value=8) propriete.SetHelpString(TAILLE_TEXTE_LIGNE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("ligne_taille_texte", "SpinCtrl") # Style labels = ["Normal", "Light", "Gras"] valeurs = [ wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD ] propriete = wxpg.EnumProperty(label=STYLE_TEXTE_LABEL, name="ligne_style", labels=STYLE_TEXTE_LABELS, values=STYLE_TEXTE_VALEURS, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(STYLE_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=COULEUR_TEXTE_LABEL, name="ligne_couleur", value=wx.BLACK) propriete.SetHelpString(COULEUR_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Multilignes autorisé propriete = wxpg.BoolProperty(label=AUTORISER_SAUT_LIGNE_LABEL, name="ligne_multilignes", value=True) propriete.SetHelpString(AUTORISER_SAUT_LIGNE_HELP) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # --------------------------- Pied de page ------------------------------------------ self.Append(wxpg.PropertyCategory("Pied de page")) # Texte de gauche valeur = "{DATE_JOUR}" propriete = wxpg.StringProperty(label=PIED_TEXTE_GAUCHE_LABEL, name="pied_page_texte_gauche", value=valeur) propriete.SetHelpString( "Saisissez le texte de gauche du pied de page (Par défaut '%s'). Vous pouvez intégrer les mots-clés suivants : %s" % (valeur, ", ".join(listeChampsPiedsPages))) self.Append(propriete) # Texte du milieu valeur = "{TITRE_DOCUMENT} - {NOM_ORGANISATEUR}" propriete = wxpg.StringProperty(label=PIED_TEXTE_MILIEU_LABEL, name="pied_page_texte_milieu", value=valeur) propriete.SetHelpString( "Saisissez le texte du milieu du pied de page (Par défaut '%s'). Vous pouvez intégrer les mots-clés suivants : %s" % (valeur, ", ".join(listeChampsPiedsPages))) self.Append(propriete) # Texte de droite valeur = "{NUM_PAGE} / {NBRE_PAGES}" propriete = wxpg.StringProperty(label=PIED_TEXTE_DROITE_LABEL, name="pied_page_texte_droite", value=valeur) propriete.SetHelpString( "Saisissez le texte de droite du pied de page (Par défaut '%s'). Vous pouvez intégrer les mots-clés suivants : %s" % (valeur, ", ".join(listeChampsPiedsPages))) self.Append(propriete) # Taille police propriete = wxpg.IntProperty(label=TAILLE_TEXTE_LABEL, name="pied_page_taille_texte", value=8) propriete.SetHelpString(TAILLE_TEXTE_PIED_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("pied_page_taille_texte", "SpinCtrl") # Style labels = ["Normal", "Light", "Gras"] valeurs = [ wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD ] propriete = wxpg.EnumProperty(label=STYLE_TEXTE_LABEL, name="pied_page_style", labels=STYLE_TEXTE_LABELS, values=STYLE_TEXTE_VALEURS, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(STYLE_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=COULEUR_TEXTE_LABEL, name="pied_page_couleur", value=wx.BLACK) propriete.SetHelpString(COULEUR_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Pied de colonne ------------------------------------------ self.Append(wxpg.PropertyCategory("Pied de colonne")) # Taille police propriete = wxpg.IntProperty(label=TAILLE_TEXTE_LABEL, name="pied_colonne_taille_texte", value=8) propriete.SetHelpString(TAILLE_TEXTE_PIED_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("pied_colonne_taille_texte", "SpinCtrl") # Style labels = ["Normal", "Light", "Gras"] valeurs = [ wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD ] propriete = wxpg.EnumProperty(label=STYLE_TEXTE_LABEL, name="pied_colonne_style", labels=STYLE_TEXTE_LABELS, values=STYLE_TEXTE_VALEURS, value=wx.FONTWEIGHT_NORMAL) propriete.SetHelpString(STYLE_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=COULEUR_TEXTE_LABEL, name="pied_colonne_couleur", value=wx.BLACK) propriete.SetHelpString(COULEUR_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement labels = ["Gauche", "Centre", "Droite"] propriete = wxpg.EnumProperty(label=ALIGNEMENT_TEXTE_LABEL, name="pied_colonne_alignement", labels=ALIGNEMENT_TEXTE_LABELS, values=ALIGNEMENT_TEXTE_VALUES, value=wx.ALIGN_CENTER) propriete.SetHelpString(ALIGNEMENT_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur de fond propriete = wxpg.ColourProperty(label=COULEUR_FOND_LABEL, name="pied_colonne_couleur_fond", value=wx.Colour(240, 240, 240)) propriete.SetHelpString(COULEUR_FOND_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- Pied de liste ------------------------------------------ self.Append(wxpg.PropertyCategory("Conclusion")) # Taille police propriete = wxpg.IntProperty(label=TAILLE_TEXTE_LABEL, name="conclusion_taille_texte", value=7) propriete.SetHelpString(TAILLE_TEXTE_CONCL_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("conclusion_taille_texte", "SpinCtrl") # Style propriete = wxpg.EnumProperty(label=STYLE_TEXTE_LABEL, name="conclusion_style", labels=STYLE_TEXTE_LABELS, values=STYLE_TEXTE_VALEURS, value=wx.FONTWEIGHT_BOLD) propriete.SetHelpString(STYLE_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur propriete = wxpg.ColourProperty(label=COULEUR_TEXTE_LABEL, name="conclusion_couleur", value=wx.BLACK) propriete.SetHelpString(COULEUR_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Alignement labels = ["Gauche", "Centre", "Droite"] propriete = wxpg.EnumProperty(label=ALIGNEMENT_TEXTE_LABEL, name="conclusion_alignement", labels=ALIGNEMENT_TEXTE_LABELS, values=ALIGNEMENT_TEXTE_VALUES, value=wx.ALIGN_LEFT) propriete.SetHelpString(ALIGNEMENT_TEXTE_HELP) propriete.SetAttribute("obligatoire", True) self.Append(propriete)
def Remplissage(self): # Catégorie self.Append(wxpg.PropertyCategory(_(u"Page"))) # Orientation page propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Orientation de la page"), name="orientation", liste_choix=[("automatique", _(u"Automatique")), ("portrait", _(u"Portrait")), ("paysage", _(u"Paysage"))], valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Lignes"))) # Tri liste_choix = [("nom", _(u"Nom")), ("prenom", _(u"Prénom")), ("age", _(u"Âge"))] propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Tri"), name="tri", liste_choix=liste_choix, valeur="nom") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez le tri")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Ordre liste_choix = [("croissant", _(u"Croissant")), ("decroissant", _(u"Décroissant"))] propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Ordre"), name="ordre", liste_choix=liste_choix, valeur="croissant") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Sélectionnez l'ordre")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Afficher lignes vierges propriete = wxpg.IntProperty(label=_(u"Lignes vierges"), name="nbre_lignes_vierges", value=3) propriete.SetEditor("SpinCtrl") propriete.SetHelpString( _(u"Nombre de lignes vierges à afficher en fin de liste")) propriete.SetAttribute("obligatoire", True) propriete.SetAttribute("Min", 0) self.Append(propriete) # Afficher tous les inscrits propriete = wxpg.BoolProperty(label=_(u"Afficher tous les inscrits"), name="afficher_inscrits", value=False) propriete.SetHelpString( _(u"Cochez cette case pour afficher tous les inscrits")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Hauteur ligne individu liste_choix = [ ("automatique", _(u"Automatique")), ] for x in range(5, 205, 5): liste_choix.append((str(x), "%d pixels" % x)) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Hauteur de la ligne Individu"), name="hauteur_ligne_individu", liste_choix=liste_choix, valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez la hauteur de la ligne de l'individu (en pixels)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur du fond de titre propriete = wxpg.ColourProperty(label=_(u"Couleur ligne de titre"), name="couleur_fond_titre", value=wx.Colour(208, 208, 208)) propriete.SetHelpString( _(u"Sélectionnez la couleur de fond de la ligne de titre")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur du fond d'entête de colonne propriete = wxpg.ColourProperty(label=_(u"Couleur ligne des entêtes"), name="couleur_fond_entetes", value=wx.Colour(240, 240, 240)) propriete.SetHelpString( _(u"Sélectionnez la couleur de fond de la ligne des entêtes")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Couleur du fond de total propriete = wxpg.ColourProperty(label=_(u"Couleur ligne de total"), name="couleur_fond_total", value=wx.Colour(208, 208, 208)) propriete.SetHelpString( _(u"Sélectionnez la couleur de fond de la ligne de total")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Taille nom activité propriete = wxpg.IntProperty( label=_(u"Taille de police du nom d'activité"), name="activite_taille_nom", value=5) propriete.SetEditor("SpinCtrl") propriete.SetHelpString(_(u"Taille de police du nom d'activité")) propriete.SetAttribute("obligatoire", True) propriete.SetAttribute("Min", 0) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonne Photo"))) # Afficher les photos liste_choix = [("non", _(u"Non")), ("petite", _(u"Petite taille")), ("moyenne", _(u"Moyenne taille")), ("grande", _(u"Grande taille"))] propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Afficher les photos"), name="afficher_photos", liste_choix=liste_choix, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString(_(u"Afficher les photos individuelles")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonne Individu"))) # Largeur colonne nom liste_choix = [ ("automatique", _(u"Automatique")), ] for x in range(5, 305, 5): liste_choix.append((str(x), "%d pixels" % x)) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Largeur de la colonne"), name="largeur_colonne_nom", liste_choix=liste_choix, valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez la largeur de la colonne Nom de l'individu (en pixels)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonne Âge"))) # Afficher l'âge des individus propriete = wxpg.BoolProperty(label=_(u"Afficher la colonne"), name="afficher_age", value=True) propriete.SetHelpString( _(u"Cochez cette case pour afficher de la colonne de l'âge des individus" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Largeur colonne âge liste_choix = [ ("automatique", _(u"Automatique")), ] for x in range(5, 305, 5): liste_choix.append((str(x), "%d pixels" % x)) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Largeur de la colonne"), name="largeur_colonne_age", liste_choix=liste_choix, valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez la largeur de la colonne Âge de l'individu (en pixels)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonnes des unités"))) # Afficher les évènements propriete = wxpg.BoolProperty(label=_(u"Afficher les évènements"), name="afficher_evenements", value=False) propriete.SetHelpString( _(u"Cochez cette case pour afficher les évènements")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les étiquettes propriete = wxpg.BoolProperty(label=_(u"Afficher les étiquettes"), name="afficher_etiquettes", value=False) propriete.SetHelpString( _(u"Cochez cette case pour afficher les étiquettes")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Masquer les consommations propriete = wxpg.BoolProperty(label=_(u"Masquer les consommations"), name="masquer_consommations", value=False) propriete.SetHelpString( _(u"Cochez cette case pour masquer les consommations")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Largeur colonne unités liste_choix = [ ("automatique", _(u"Automatique")), ] for x in range(5, 105, 5): liste_choix.append((str(x), "%d pixels" % x)) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Largeur de la colonne"), name="largeur_colonne_unite", liste_choix=liste_choix, valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez la largeur de chaque colonne unité (en pixels)") ) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonnes personnalisées"))) # Largeur colonne unités liste_choix = [] for x in range(5, 105, 5): liste_choix.append((str(x), "%d pixels" % x)) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Largeur par défaut des colonnes"), name="largeur_colonne_perso", liste_choix=liste_choix, valeur="40") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez la largeur par défaut de toutes les colonnes personnalisées (en pixels)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # Catégorie self.Append(wxpg.PropertyCategory(_(u"Colonne Informations"))) # Afficher les informations propriete = wxpg.BoolProperty(label=_(u"Afficher la colonne"), name="afficher_informations", value=True) propriete.SetHelpString( _(u"Cochez cette case pour afficher la colonne Informations")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Masquer les informations propriete = wxpg.BoolProperty(label=_(u"Masquer les informations"), name="masquer_informations", value=False) propriete.SetHelpString( _(u"Cochez cette case pour masquer le contenu de la colonne Informations" )) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les cotisations manquantes propriete = wxpg.BoolProperty( label=_(u"Afficher les cotisations manquantes"), name="afficher_cotisations_manquantes", value=False) propriete.SetHelpString( _(u"Cochez cette case pour afficher les cotisations manquantes")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Afficher les pièces manquantes propriete = wxpg.BoolProperty( label=_(u"Afficher les pièces manquantes"), name="afficher_pieces_manquantes", value=False) propriete.SetHelpString( _(u"Cochez cette case pour afficher les pièces manquantes")) propriete.SetAttribute("UseCheckbox", True) self.Append(propriete) # Largeur colonne informations liste_choix = [ ("automatique", _(u"Automatique")), ] for x in range(5, 505, 5): liste_choix.append((str(x), "%d pixels" % x)) propriete = CTRL_Propertygrid.Propriete_choix( label=_(u"Largeur de la colonne"), name="largeur_colonne_informations", liste_choix=liste_choix, valeur="automatique") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez la largeur de la colonne Informations (en pixels)" )) propriete.SetAttribute("obligatoire", True) self.Append(propriete)
def Remplissage(self): # --------------------------- TYPE DE DOCUMENT------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Type de document"))) # Type propriete = wxpg.EnumProperty( label=_(u"Type"), name="type_document", labels=[_(u"Détaillé"), _(u"Simplifié"), (u"Totaux")], values=[0, 1, 2], value=0) propriete.SetHelpString(_(u"Sélectionnez un type de document")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- COULEURS DE FOND ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Couleurs de fond"))) # 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 une couleur")) 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(230, 230, 255)) propriete.SetHelpString(_(u"Sélectionnez une couleur")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- TITRE ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Titre"))) # Texte propriete = wxpg.StringProperty( label=_(u"Texte"), name="titre_texte", value=_(u"Récapitulatif des factures")) propriete.SetHelpString(_(u"Saisissez un texte")) self.Append(propriete) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="titre_taille_texte", value=16) propriete.SetHelpString( _(u"Saisissez une taille de texte (16 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("titre_taille_texte", "SpinCtrl") # Couleur ## propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="titre_couleur", value=wx.BLACK) ## propriete.SetHelpString(_(u"Sélectionnez une couleur")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty( label=_(u"Alignement du texte"), name="titre_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT], value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- FAMILLES ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Champs familiaux"))) liste_choix = [ ("non", _(u"Non")), ] for dictQuestion in self.GetGrandParent( ).Questionnaires.listeQuestions: liste_choix.append(("{QUESTION_%d}" % dictQuestion["IDquestion"], dictQuestion["label"])) # Question 1 propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 1"), name="question_1", liste_choix=liste_choix, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez un item du questionnaire famille à inclure dans le document" )) self.Append(propriete) # Question 2 propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 2"), name="question_2", liste_choix=liste_choix, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez un item du questionnaire famille à inclure dans le document" )) self.Append(propriete) # Question 3 propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 3"), name="question_3", liste_choix=liste_choix, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez un item du questionnaire famille à inclure dans le document" )) self.Append(propriete) # --------------------------- INDIVIDUS ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Champs individuels"))) liste_choix = [ ("non", _(u"Non")), ("ecole_debut_facture", _(u"Ecole à la date de début de la facture")), ("ecole_fin_facture", _(u"Ecole à la date de fin de la facture")), ("classe_debut_facture", _(u"Classe à la date de début de la facture")), ("classe_fin_facture", _(u"Classe à la date de fin de la facture")), ("niveau_debut_facture", _(u"Niveau scolaire à la date de début de la facture")), ("niveau_fin_facture", _(u"Niveau scolaire à la date de fin de la facture")), ] # Champ individuel 1 propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 1"), name="champ_ind_1", liste_choix=liste_choix, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez un champ individuel à intégrer dans le document" )) self.Append(propriete) # Champ individuel 2 propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 2"), name="champ_ind_2", liste_choix=liste_choix, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez un champ individuel à intégrer dans le document" )) self.Append(propriete) # Champ individuel 3 propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 3"), name="champ_ind_3", liste_choix=liste_choix, valeur="non") propriete.SetEditor("EditeurChoix") propriete.SetHelpString( _(u"Sélectionnez un champ individuel à intégrer dans le document" )) self.Append(propriete) # --------------------------- INTRODUCTION ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Introduction"))) # Texte propriete = wxpg.StringProperty(label=_(u"Texte"), name="intro_texte", value=u"") propriete.SetHelpString(_(u"Saisissez un texte")) self.Append(propriete) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="intro_taille_texte", value=7) propriete.SetHelpString( _(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("intro_taille_texte", "SpinCtrl") # Style ## labels = [_(u"Normal"), _(u"Light"), "Gras"] ## valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] ## propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="intro_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_NORMAL) ## propriete.SetHelpString(_(u"Sélectionnez un style de texte")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Couleur ## propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="intro_couleur", value=wx.BLACK) ## propriete.SetHelpString(_(u"Sélectionnez une couleur")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty( label=_(u"Alignement du texte"), name="intro_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT], value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) # --------------------------- CONCLUSION ------------------------------------------ self.Append(wxpg.PropertyCategory(_(u"Conclusion"))) # Texte propriete = wxpg.StringProperty( label=_(u"Texte"), name="conclusion_texte", value=_( u"{NBRE_FACTURES} factures | Montant total : {TOTAL_FACTURES}") ) propriete.SetHelpString( _(u"Saisissez un texte. Vous pouvez utiliser les mots-clés suivants : {NBRE_FACTURES}, {TOTAL_FACTURES}, {NBRE_FACT_PRELEV}, {TOTAL_FACT_PRELEV}" )) self.Append(propriete) # Taille police propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="conclusion_taille_texte", value=7) propriete.SetHelpString( _(u"Saisissez une taille de texte (7 par défaut)")) propriete.SetAttribute("obligatoire", True) self.Append(propriete) self.SetPropertyEditor("conclusion_taille_texte", "SpinCtrl") # Style ## labels = [_(u"Normal"), _(u"Light"), "Gras"] ## valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD] ## propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="conclusion_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_BOLD) ## propriete.SetHelpString(_(u"Sélectionnez un style de texte")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Couleur ## propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="conclusion_couleur", value=wx.BLACK) ## propriete.SetHelpString(_(u"Sélectionnez une couleur")) ## propriete.SetAttribute("obligatoire", True) ## self.Append(propriete) # Alignement labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")] propriete = wxpg.EnumProperty( label=_(u"Alignement du texte"), name="conclusion_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT], value=wx.ALIGN_LEFT) propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) propriete.SetAttribute("obligatoire", True) 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)