2883 self.ShowErrorMessage(_("\"%s\" is not a valid folder!")%os.path.dirname(filepath)) |
2885 self.ShowErrorMessage(_("\"%s\" is not a valid folder!")%os.path.dirname(filepath)) |
2884 self._Refresh(TITLE, FILEMENU, PAGETITLES) |
2886 self._Refresh(TITLE, FILEMENU, PAGETITLES) |
2885 dialog.Destroy() |
2887 dialog.Destroy() |
2886 |
2888 |
2887 #------------------------------------------------------------------------------- |
2889 #------------------------------------------------------------------------------- |
2888 # Create Project Dialog |
|
2889 #------------------------------------------------------------------------------- |
|
2890 |
|
2891 [ID_SCALINGPANEL, ID_SCALINGPANELXSCALE, |
|
2892 ID_SCALINGPANELYSCALE, ID_SCALINGPANELSTATICTEXT1, |
|
2893 ID_SCALINGPANELSTATICTEXT2, |
|
2894 ] = [wx.NewId() for _init_ctrls in range(5)] |
|
2895 |
|
2896 class ScalingPanel(wx.Panel): |
|
2897 |
|
2898 def _init_coll_ScalingPanelSizer_Items(self, parent): |
|
2899 parent.AddWindow(self.staticText1, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT) |
|
2900 parent.AddWindow(self.XScale, 0, border=10, flag=wx.GROW|wx.TOP|wx.RIGHT) |
|
2901 parent.AddWindow(self.staticText2, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.BOTTOM|wx.LEFT) |
|
2902 parent.AddWindow(self.YScale, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.RIGHT) |
|
2903 |
|
2904 def _init_coll_ScalingPanelSizer_Growables(self, parent): |
|
2905 parent.AddGrowableCol(1) |
|
2906 |
|
2907 def _init_sizers(self): |
|
2908 self.ScalingPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5) |
|
2909 |
|
2910 self._init_coll_ScalingPanelSizer_Items(self.ScalingPanelSizer) |
|
2911 self._init_coll_ScalingPanelSizer_Growables(self.ScalingPanelSizer) |
|
2912 |
|
2913 self.SetSizer(self.ScalingPanelSizer) |
|
2914 |
|
2915 def _init_ctrls(self, prnt): |
|
2916 wx.Panel.__init__(self, id=ID_SCALINGPANEL, |
|
2917 name='ScalingPanel', parent=prnt, pos=wx.Point(0, 0), |
|
2918 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
|
2919 |
|
2920 self.staticText1 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT1, |
|
2921 label=_('Horizontal:'), name='staticText1', parent=self, |
|
2922 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
2923 |
|
2924 self.XScale = wx.SpinCtrl(id=ID_SCALINGPANELXSCALE, |
|
2925 name='XScale', parent=self, pos=wx.Point(0, 0), |
|
2926 size=wx.Size(0, 24), style=0, min=0, max=2**16) |
|
2927 |
|
2928 self.staticText2 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT2, |
|
2929 label=_('Vertical:'), name='staticText2', parent=self, |
|
2930 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
2931 |
|
2932 self.YScale = wx.SpinCtrl(id=ID_SCALINGPANELYSCALE, |
|
2933 name='YScale', parent=self, pos=wx.Point(0, 0), |
|
2934 size=wx.Size(0, 24), style=0, min=0, max=2**16) |
|
2935 |
|
2936 self._init_sizers() |
|
2937 |
|
2938 def __init__(self, parent): |
|
2939 self._init_ctrls(parent) |
|
2940 |
|
2941 def SetScaling(self, x, y): |
|
2942 self.XScale.SetValue(x) |
|
2943 self.YScale.SetValue(y) |
|
2944 |
|
2945 def GetScaling(self): |
|
2946 return self.XScale.GetValue(), self.YScale.GetValue() |
|
2947 |
|
2948 [ID_PROJECTDIALOG, ID_PROJECTDIALOGMAINNOTEBOOK, |
|
2949 ID_PROJECTDIALOGPROJECTPANEL, ID_PROJECTDIALOGAUTHORPANEL, |
|
2950 ID_PROJECTDIALOGGRAPHICSPANEL, ID_PROJECTDIALOGMISCELLANEOUSPANEL, |
|
2951 ID_PROJECTDIALOGPROJECTNAME, ID_PROJECTDIALOGPROJECTVERSION, |
|
2952 ID_PROJECTDIALOGPRODUCTNAME, ID_PROJECTDIALOGPRODUCTVERSION, |
|
2953 ID_PROJECTDIALOGPRODUCTRELEASE, ID_PROJECTDIALOGCOMPANYNAME, |
|
2954 ID_PROJECTDIALOGCOMPANYURL, ID_PROJECTDIALOGAUTHORNAME, |
|
2955 ID_PROJECTDIALOGORGANIZATION, ID_PROJECTDIALOGLANGUAGE, |
|
2956 ID_PROJECTDIALOGCONTENTDESCRIPTION, ID_PROJECTDIALOGSCALINGNOTEBOOK, |
|
2957 ID_PROJECTDIALOGPAGEWIDTH, ID_PROJECTDIALOGPAGEHEIGHT, |
|
2958 ID_PROJECTDIALOGSTATICTEXT1, ID_PROJECTDIALOGSTATICTEXT2, |
|
2959 ID_PROJECTDIALOGSTATICTEXT3, ID_PROJECTDIALOGSTATICTEXT4, |
|
2960 ID_PROJECTDIALOGSTATICTEXT5, ID_PROJECTDIALOGSTATICTEXT6, |
|
2961 ID_PROJECTDIALOGSTATICTEXT7, ID_PROJECTDIALOGSTATICTEXT8, |
|
2962 ID_PROJECTDIALOGSTATICTEXT9, ID_PROJECTDIALOGSTATICTEXT10, |
|
2963 ID_PROJECTDIALOGSTATICTEXT11, ID_PROJECTDIALOGSTATICTEXT12, |
|
2964 ID_PROJECTDIALOGSTATICTEXT13, ID_PROJECTDIALOGSTATICTEXT14, |
|
2965 ID_PROJECTDIALOGSTATICTEXT15, |
|
2966 ] = [wx.NewId() for _init_ctrls in range(35)] |
|
2967 |
|
2968 class ProjectDialog(wx.Dialog): |
|
2969 if wx.VERSION < (2, 6, 0): |
|
2970 def Bind(self, event, function, id = None): |
|
2971 if id is not None: |
|
2972 event(self, id, function) |
|
2973 else: |
|
2974 event(self, function) |
|
2975 |
|
2976 def _init_coll_flexGridSizer1_Items(self, parent): |
|
2977 parent.AddSizer(self.MainNotebook, 0, border=0, flag=wx.GROW) |
|
2978 parent.AddSizer(self.ButtonSizer, 0, border=20, flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
|
2979 |
|
2980 def _init_coll_flexGridSizer1_Growables(self, parent): |
|
2981 parent.AddGrowableCol(0) |
|
2982 parent.AddGrowableRow(0) |
|
2983 |
|
2984 def _init_coll_ProjectPanelSizer_Items(self, parent): |
|
2985 parent.AddWindow(self.staticText1, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT) |
|
2986 parent.AddWindow(self.ProjectName, 0, border=10, flag=wx.GROW|wx.TOP|wx.RIGHT) |
|
2987 parent.AddWindow(self.staticText2, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT) |
|
2988 parent.AddWindow(self.ProjectVersion, 0, border=10, flag=wx.GROW|wx.RIGHT) |
|
2989 parent.AddWindow(self.staticText3, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT) |
|
2990 parent.AddWindow(self.ProductName, 0, border=10, flag=wx.GROW|wx.RIGHT) |
|
2991 parent.AddWindow(self.staticText4, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT) |
|
2992 parent.AddWindow(self.ProductVersion, 0, border=10, flag=wx.GROW|wx.RIGHT) |
|
2993 parent.AddWindow(self.staticText5, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.BOTTOM|wx.LEFT) |
|
2994 parent.AddWindow(self.ProductRelease, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.RIGHT) |
|
2995 |
|
2996 def _init_coll_ProjectPanelSizer_Growables(self, parent): |
|
2997 parent.AddGrowableCol(1) |
|
2998 |
|
2999 def _init_coll_AuthorPanelSizer_Items(self, parent): |
|
3000 parent.AddWindow(self.staticText6, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT) |
|
3001 parent.AddWindow(self.CompanyName, 0, border=10, flag=wx.GROW|wx.TOP|wx.RIGHT) |
|
3002 parent.AddWindow(self.staticText7, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT) |
|
3003 parent.AddWindow(self.CompanyURL, 0, border=10, flag=wx.GROW|wx.RIGHT) |
|
3004 parent.AddWindow(self.staticText8, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT) |
|
3005 parent.AddWindow(self.AuthorName, 0, border=10, flag=wx.GROW|wx.RIGHT) |
|
3006 parent.AddWindow(self.staticText9, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.BOTTOM|wx.LEFT) |
|
3007 parent.AddWindow(self.Organization, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.RIGHT) |
|
3008 |
|
3009 def _init_coll_AuthorPanelSizer_Growables(self, parent): |
|
3010 parent.AddGrowableCol(1) |
|
3011 |
|
3012 def _init_coll_GraphicsPanelSizer_Items(self, parent): |
|
3013 parent.AddWindow(self.staticText12, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT|wx.RIGHT) |
|
3014 parent.AddSizer(self.GraphicsPageSizeSizer, 0, border=10, flag=wx.GROW|wx.LEFT|wx.RIGHT) |
|
3015 parent.AddWindow(self.staticText15, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT|wx.RIGHT) |
|
3016 parent.AddWindow(self.ScalingNotebook, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
|
3017 |
|
3018 def _init_coll_GraphicsPanelSizer_Growables(self, parent): |
|
3019 parent.AddGrowableCol(0) |
|
3020 parent.AddGrowableRow(3) |
|
3021 |
|
3022 def _init_coll_GraphicsPageSizeSizer_Items(self, parent): |
|
3023 parent.AddWindow(self.staticText13, 0, border=12, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT) |
|
3024 parent.AddWindow(self.PageWidth, 0, border=0, flag=wx.GROW) |
|
3025 parent.AddWindow(self.staticText14, 0, border=12, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT) |
|
3026 parent.AddWindow(self.PageHeight, 0, border=0, flag=wx.GROW) |
|
3027 |
|
3028 def _init_coll_GraphicsPageSizeSizer_Growables(self, parent): |
|
3029 parent.AddGrowableCol(1) |
|
3030 |
|
3031 def _init_coll_MiscellaneousPanelSizer_Items(self, parent): |
|
3032 parent.AddWindow(self.staticText10, 0, border=10, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.LEFT) |
|
3033 parent.AddWindow(self.Language, 0, border=10, flag=wx.GROW|wx.TOP|wx.RIGHT) |
|
3034 parent.AddWindow(self.staticText11, 0, border=10, flag=wx.BOTTOM|wx.LEFT) |
|
3035 parent.AddWindow(self.ContentDescription, 0, border=10, flag=wx.GROW|wx.BOTTOM|wx.RIGHT) |
|
3036 |
|
3037 def _init_coll_MiscellaneousPanelSizer_Growables(self, parent): |
|
3038 parent.AddGrowableCol(1) |
|
3039 parent.AddGrowableRow(1) |
|
3040 |
|
3041 def _init_sizers(self): |
|
3042 self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
|
3043 self.ProjectPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=5, vgap=15) |
|
3044 self.AuthorPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=4, vgap=15) |
|
3045 self.GraphicsPanelSizer = wx.FlexGridSizer(cols=1, hgap=5, rows=4, vgap=5) |
|
3046 self.GraphicsPageSizeSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5) |
|
3047 self.MiscellaneousPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=15) |
|
3048 |
|
3049 self._init_coll_flexGridSizer1_Items(self.flexGridSizer1) |
|
3050 self._init_coll_flexGridSizer1_Growables(self.flexGridSizer1) |
|
3051 self._init_coll_ProjectPanelSizer_Items(self.ProjectPanelSizer) |
|
3052 self._init_coll_ProjectPanelSizer_Growables(self.ProjectPanelSizer) |
|
3053 self._init_coll_AuthorPanelSizer_Items(self.AuthorPanelSizer) |
|
3054 self._init_coll_AuthorPanelSizer_Growables(self.AuthorPanelSizer) |
|
3055 self._init_coll_GraphicsPanelSizer_Items(self.GraphicsPanelSizer) |
|
3056 self._init_coll_GraphicsPanelSizer_Growables(self.GraphicsPanelSizer) |
|
3057 self._init_coll_GraphicsPageSizeSizer_Items(self.GraphicsPageSizeSizer) |
|
3058 self._init_coll_GraphicsPageSizeSizer_Growables(self.GraphicsPageSizeSizer) |
|
3059 self._init_coll_MiscellaneousPanelSizer_Items(self.MiscellaneousPanelSizer) |
|
3060 self._init_coll_MiscellaneousPanelSizer_Growables(self.MiscellaneousPanelSizer) |
|
3061 |
|
3062 self.SetSizer(self.flexGridSizer1) |
|
3063 self.ProjectPanel.SetSizer(self.ProjectPanelSizer) |
|
3064 self.AuthorPanel.SetSizer(self.AuthorPanelSizer) |
|
3065 self.GraphicsPanel.SetSizer(self.GraphicsPanelSizer) |
|
3066 self.MiscellaneousPanel.SetSizer(self.MiscellaneousPanelSizer) |
|
3067 |
|
3068 def _init_ctrls(self, prnt): |
|
3069 wx.Dialog.__init__(self, id=ID_PROJECTDIALOG, |
|
3070 name='ProjectDialog', parent=prnt, |
|
3071 size=wx.Size(500, 350), style=wx.DEFAULT_DIALOG_STYLE, |
|
3072 title=_('Project properties')) |
|
3073 self.SetClientSize(wx.Size(500, 350)) |
|
3074 |
|
3075 self.MainNotebook = wx.Notebook(id=ID_PROJECTDIALOGMAINNOTEBOOK, |
|
3076 name='MainNotebook', parent=self, pos=wx.Point(0, |
|
3077 0), size=wx.Size(0, 0), style=0) |
|
3078 |
|
3079 # Project Panel elements |
|
3080 |
|
3081 self.ProjectPanel = wx.Panel(id=ID_PROJECTDIALOGPROJECTPANEL, |
|
3082 name='ProjectPanel', parent=self.MainNotebook, pos=wx.Point(0, 0), |
|
3083 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
|
3084 |
|
3085 self.staticText1 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT1, |
|
3086 label=_('Project Name (required):'), name='staticText1', parent=self.ProjectPanel, |
|
3087 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3088 |
|
3089 self.ProjectName = wx.TextCtrl(id=ID_PROJECTDIALOGPROJECTNAME, |
|
3090 name='ProjectName', parent=self.ProjectPanel, pos=wx.Point(0, 0), |
|
3091 size=wx.Size(0, 24), style=0) |
|
3092 |
|
3093 self.staticText2 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT2, |
|
3094 label=_('Project Version (optional):'), name='staticText2', parent=self.ProjectPanel, |
|
3095 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3096 |
|
3097 self.ProjectVersion = wx.TextCtrl(id=ID_PROJECTDIALOGPROJECTVERSION, |
|
3098 name='ProjectVersion', parent=self.ProjectPanel, pos=wx.Point(0, 0), |
|
3099 size=wx.Size(0, 24), style=0) |
|
3100 |
|
3101 self.staticText3 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT3, |
|
3102 label=_('Product Name (required):'), name='staticText3', parent=self.ProjectPanel, |
|
3103 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3104 |
|
3105 self.ProductName = wx.TextCtrl(id=ID_PROJECTDIALOGPRODUCTNAME, |
|
3106 name='ProductName', parent=self.ProjectPanel, pos=wx.Point(0, 0), |
|
3107 size=wx.Size(0, 24), style=0) |
|
3108 |
|
3109 self.staticText4 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT4, |
|
3110 label=_('Product Version (required):'), name='staticText4', parent=self.ProjectPanel, |
|
3111 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3112 |
|
3113 self.ProductVersion = wx.TextCtrl(id=ID_PROJECTDIALOGPRODUCTVERSION, |
|
3114 name='ProductVersion', parent=self.ProjectPanel, pos=wx.Point(0, 0), |
|
3115 size=wx.Size(0, 24), style=0) |
|
3116 |
|
3117 self.staticText5 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT5, |
|
3118 label=_('Product Release (optional):'), name='staticText5', parent=self.ProjectPanel, |
|
3119 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3120 |
|
3121 self.ProductRelease = wx.TextCtrl(id=ID_PROJECTDIALOGPRODUCTRELEASE, |
|
3122 name='ProductRelease', parent=self.ProjectPanel, pos=wx.Point(0, 0), |
|
3123 size=wx.Size(0, 24), style=0) |
|
3124 |
|
3125 self.MainNotebook.AddPage(self.ProjectPanel, _("Project")) |
|
3126 |
|
3127 # Author Panel elements |
|
3128 |
|
3129 self.AuthorPanel = wx.Panel(id=ID_PROJECTDIALOGAUTHORPANEL, |
|
3130 name='AuthorPanel', parent=self.MainNotebook, pos=wx.Point(0, 0), |
|
3131 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
|
3132 |
|
3133 self.staticText6 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT6, |
|
3134 label=_('Company Name (required):'), name='staticText6', parent=self.AuthorPanel, |
|
3135 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3136 |
|
3137 self.CompanyName = wx.TextCtrl(id=ID_PROJECTDIALOGCOMPANYNAME, |
|
3138 name='CompanyName', parent=self.AuthorPanel, pos=wx.Point(0, 0), |
|
3139 size=wx.Size(0, 24), style=0) |
|
3140 |
|
3141 self.staticText7 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT7, |
|
3142 label=_('Company URL (optional):'), name='staticText7', parent=self.AuthorPanel, |
|
3143 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3144 |
|
3145 self.CompanyURL = wx.TextCtrl(id=ID_PROJECTDIALOGCOMPANYURL, |
|
3146 name='CompanyURL', parent=self.AuthorPanel, pos=wx.Point(0, 0), |
|
3147 size=wx.Size(0, 24), style=0) |
|
3148 |
|
3149 self.staticText8 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT8, |
|
3150 label=_('Author Name (optional):'), name='staticText8', parent=self.AuthorPanel, |
|
3151 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3152 |
|
3153 self.AuthorName = wx.TextCtrl(id=ID_PROJECTDIALOGAUTHORNAME, |
|
3154 name='AuthorName', parent=self.AuthorPanel, pos=wx.Point(0, 0), |
|
3155 size=wx.Size(0, 24), style=0) |
|
3156 |
|
3157 self.staticText9 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT9, |
|
3158 label=_('Organization (optional):'), name='staticText9', parent=self.AuthorPanel, |
|
3159 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3160 |
|
3161 self.Organization = wx.TextCtrl(id=ID_PROJECTDIALOGORGANIZATION, |
|
3162 name='Organization', parent=self.AuthorPanel, pos=wx.Point(0, 0), |
|
3163 size=wx.Size(0, 24), style=0) |
|
3164 |
|
3165 self.MainNotebook.AddPage(self.AuthorPanel, _("Author")) |
|
3166 |
|
3167 # Graphics Panel elements |
|
3168 |
|
3169 self.GraphicsPanel = wx.Panel(id=ID_PROJECTDIALOGGRAPHICSPANEL, |
|
3170 name='GraphicsPanel', parent=self.MainNotebook, pos=wx.Point(0, 0), |
|
3171 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
|
3172 |
|
3173 self.staticText12 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT12, |
|
3174 label=_('Page Size (optional):'), name='staticText12', parent=self.GraphicsPanel, |
|
3175 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3176 |
|
3177 self.staticText13 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT13, |
|
3178 label=_('Width:'), name='staticText13', parent=self.GraphicsPanel, |
|
3179 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3180 |
|
3181 self.PageWidth = wx.SpinCtrl(id=ID_PROJECTDIALOGPAGEWIDTH, |
|
3182 name='PageWidth', parent=self.GraphicsPanel, pos=wx.Point(0, 0), |
|
3183 size=wx.Size(0, 24), style=0, min=0, max=2**16) |
|
3184 |
|
3185 self.staticText14 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT14, |
|
3186 label=_('Height:'), name='staticText14', parent=self.GraphicsPanel, |
|
3187 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3188 |
|
3189 self.PageHeight = wx.SpinCtrl(id=ID_PROJECTDIALOGPAGEHEIGHT, |
|
3190 name='PageHeight', parent=self.GraphicsPanel, pos=wx.Point(0, 0), |
|
3191 size=wx.Size(0, 24), style=0, min=0, max=2**16) |
|
3192 |
|
3193 self.staticText15 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT15, |
|
3194 label=_('Grid Resolution:'), name='staticText15', parent=self.GraphicsPanel, |
|
3195 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3196 |
|
3197 self.ScalingNotebook = wx.Notebook(id=ID_PROJECTDIALOGSCALINGNOTEBOOK, |
|
3198 name='ScalingNotebook', parent=self.GraphicsPanel, pos=wx.Point(0, |
|
3199 0), size=wx.Size(0, 0), style=0) |
|
3200 |
|
3201 self.Scalings = {} |
|
3202 for language, translation in [("FBD",_("FBD")), ("LD",_("LD")), ("SFC",_("SFC"))]: |
|
3203 window = ScalingPanel(self.ScalingNotebook) |
|
3204 self.Scalings[language] = window |
|
3205 self.ScalingNotebook.AddPage(window, translation) |
|
3206 |
|
3207 self.MainNotebook.AddPage(self.GraphicsPanel, _("Graphics")) |
|
3208 |
|
3209 # Miscellaneous Panel elements |
|
3210 |
|
3211 self.MiscellaneousPanel = wx.Panel(id=ID_PROJECTDIALOGMISCELLANEOUSPANEL, |
|
3212 name='MiscellaneousPanel', parent=self.MainNotebook, pos=wx.Point(0, 0), |
|
3213 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
|
3214 |
|
3215 self.staticText10 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT10, |
|
3216 label=_('Language (optional):'), name='staticText10', parent=self.MiscellaneousPanel, |
|
3217 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3218 |
|
3219 self.Language = wx.ComboBox(id=ID_PROJECTDIALOGLANGUAGE, |
|
3220 name='Language', parent=self.MiscellaneousPanel, pos=wx.Point(0, 0), |
|
3221 size=wx.Size(0, 28), style=wx.CB_READONLY) |
|
3222 |
|
3223 self.staticText11 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT11, |
|
3224 label=_('Content Description (optional):'), name='staticText11', parent=self.MiscellaneousPanel, |
|
3225 pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) |
|
3226 |
|
3227 self.ContentDescription = wx.TextCtrl(id=ID_PROJECTDIALOGCONTENTDESCRIPTION, |
|
3228 name='ContentDescription', parent=self.MiscellaneousPanel, pos=wx.Point(0, 0), |
|
3229 size=wx.Size(0, 24), style=wx.TE_MULTILINE) |
|
3230 |
|
3231 self.MainNotebook.AddPage(self.MiscellaneousPanel, _("Miscellaneous")) |
|
3232 |
|
3233 self.ButtonSizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
|
3234 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.ButtonSizer.GetAffirmativeButton().GetId()) |
|
3235 |
|
3236 self._init_sizers() |
|
3237 |
|
3238 def __init__(self, parent, enable_required=True): |
|
3239 self._init_ctrls(parent) |
|
3240 |
|
3241 self.ProjectName.Enable(enable_required) |
|
3242 self.ProductName.Enable(enable_required) |
|
3243 self.ProductVersion.Enable(enable_required) |
|
3244 self.CompanyName.Enable(enable_required) |
|
3245 |
|
3246 languages = ["", "en-US", "fr-FR", "zh-CN"] |
|
3247 |
|
3248 for language in languages: |
|
3249 self.Language.Append(language) |
|
3250 |
|
3251 def OnOK(self, event): |
|
3252 error = [] |
|
3253 if self.ProjectName.GetValue() == "": |
|
3254 error.append("Project Name") |
|
3255 if self.CompanyName.GetValue() == "": |
|
3256 error.append("Company Name") |
|
3257 if self.ProductName.GetValue() == "": |
|
3258 error.append("Product Name") |
|
3259 if self.ProductVersion.GetValue() == "": |
|
3260 error.append("Product Version") |
|
3261 if len(error) > 0: |
|
3262 text = "" |
|
3263 for i, item in enumerate(error): |
|
3264 if i == 0: |
|
3265 text += item |
|
3266 elif i == len(error) - 1: |
|
3267 text += " and %s"%item |
|
3268 else: |
|
3269 text += ", %s"%item |
|
3270 message = wx.MessageDialog(self, _("Form isn't complete. %s must be filled!")%text, _("Error"), wx.OK|wx.ICON_ERROR) |
|
3271 message.ShowModal() |
|
3272 message.Destroy() |
|
3273 else: |
|
3274 self.EndModal(wx.ID_OK) |
|
3275 |
|
3276 def SetValues(self, values): |
|
3277 for item, value in values.items(): |
|
3278 if item == "projectName": |
|
3279 self.ProjectName.SetValue(value) |
|
3280 elif item == "projectVersion": |
|
3281 self.ProjectVersion.SetValue(value) |
|
3282 elif item == "productName": |
|
3283 self.ProductName.SetValue(value) |
|
3284 elif item == "productVersion": |
|
3285 self.ProductVersion.SetValue(value) |
|
3286 elif item == "productRelease": |
|
3287 self.ProductRelease.SetValue(value) |
|
3288 elif item == "companyName": |
|
3289 self.CompanyName.SetValue(value) |
|
3290 elif item == "companyURL": |
|
3291 self.CompanyURL.SetValue(value) |
|
3292 elif item == "authorName": |
|
3293 self.AuthorName.SetValue(value) |
|
3294 elif item == "organization": |
|
3295 self.Organization.SetValue(value) |
|
3296 elif item == "language": |
|
3297 self.Language.SetStringSelection(value) |
|
3298 elif item == "contentDescription": |
|
3299 self.ContentDescription.SetValue(value) |
|
3300 elif item == "pageSize": |
|
3301 self.PageWidth.SetValue(value[0]) |
|
3302 self.PageHeight.SetValue(value[1]) |
|
3303 elif item == "scaling": |
|
3304 for language, (x, y) in value.items(): |
|
3305 if language in self.Scalings: |
|
3306 self.Scalings[language].SetScaling(x, y) |
|
3307 |
|
3308 def GetValues(self): |
|
3309 values = {} |
|
3310 values["projectName"] = self.ProjectName.GetValue() |
|
3311 if self.ProjectVersion.GetValue() != "": |
|
3312 values["projectVersion"] = self.ProjectVersion.GetValue() |
|
3313 values["productName"] = self.ProductName.GetValue() |
|
3314 values["productVersion"] = self.ProductVersion.GetValue() |
|
3315 if self.ProductRelease.GetValue() != "": |
|
3316 values["productRelease"] = self.ProductRelease.GetValue() |
|
3317 values["companyName"] = self.CompanyName.GetValue() |
|
3318 if self.CompanyURL.GetValue() != "": |
|
3319 values["companyURL"] = self.CompanyURL.GetValue() |
|
3320 if self.AuthorName.GetValue() != "": |
|
3321 values["authorName"] = self.AuthorName.GetValue() |
|
3322 if self.Organization.GetValue() != "": |
|
3323 values["organization"] = self.Organization.GetValue() |
|
3324 if self.Language.GetStringSelection() != "": |
|
3325 values["language"] = self.Language.GetStringSelection() |
|
3326 if self.ProductRelease.GetValue() != "": |
|
3327 values["contentDescription"] = self.ContentDescription.GetValue() |
|
3328 values["pageSize"] = (self.PageWidth.GetValue(), self.PageHeight.GetValue()) |
|
3329 values["scaling"] = {} |
|
3330 for language in ["FBD", "LD", "SFC"]: |
|
3331 values["scaling"][language] = self.Scalings[language].GetScaling() |
|
3332 return values |
|
3333 |
|
3334 #------------------------------------------------------------------------------- |
|
3335 # Edit Step Name Dialog |
2890 # Edit Step Name Dialog |
3336 #------------------------------------------------------------------------------- |
2891 #------------------------------------------------------------------------------- |
3337 |
2892 |
3338 class DataTypeDialog(wx.TextEntryDialog): |
2893 class DataTypeDialog(wx.TextEntryDialog): |
3339 |
2894 |