def __init__(self, name, parent, id, win_1, win_2, orientation, sizer, pos): ManagedBase.__init__(self, name, 'wxSplitterWindow', parent, id, sizer, pos) EditStylesMixin.__init__(self) # initialise instance properties self.no_custom_class = np.CheckBoxProperty(False, default_value=False) self.sash_pos = np.SpinPropertyD(0, default_value="") if hasattr(wx, "SpinCtrlDouble"): self.sash_gravity = np.SpinDoublePropertyD(0.5, (0.0, 1.0), default_value=0.0, immediate=True) else: self.sash_gravity = np.FloatPropertyD(0.5, (0.0, 1.0), default_value=0.0) self.min_pane_size = np.SpinProperty(20) # hidden properties: orientation string, window_1, window_2 self.orientation = np.Property(orientation) self.window_1 = ChildWidgetNameProperty("_window_1") self.window_2 = ChildWidgetNameProperty("_window_2") self.virtual_sizer = SplitterWindowSizer(self) labels = ("SLOT Left", "SLOT Right") if orientation == "wxSPLIT_VERTICAL" else ( "SLOT Top", "SLOT Bottom") self._window_1 = win_1 or SizerSlot( self, self.virtual_sizer, 1, label=labels[0]) self._window_2 = win_2 or SizerSlot( self, self.virtual_sizer, 2, label=labels[1])
def __init__(self): np.PropertyOwner.__init__(self) self._logger = logging.getLogger(self.__class__.__name__) self.__saved = True # raw value for self.saved property; if True, there are no changes to save self.__filename = None # raw value for the self.filename property; Name of the output XML file # initialise instance properties self.is_template = np.Property(False) # hidden property # name and derived class name, including validation self.name = np.TextPropertyA("app", default_value="") self.klass = np.TextPropertyA("MyApp", default_value="", name="class") self.properties["name"].validation_re = re.compile(r'^[a-zA-Z]+[\w0-9-]*$') self.properties["class"].validation_re = re.compile(r'^[a-zA-Z]+[\w:.0-9-]*$') # generate separate file for each class? labels = [_("Single file"), _("Separate file for each class") ] tooltips = [_("Write all source code in one file"), _("Split source code in one file per class / widget") ] self.multiple_files = np.RadioProperty( config.default_multiple_files, values=[0,1], labels=labels, tooltips=tooltips ) # code indentation: mode and count self.indent_mode = np.RadioProperty( 1, [0,1], ["Tabs","Spaces"], aliases=["tab","space"], columns=2 ) self.indent_amount = np.SpinProperty( config.default_indent_amount, val_range=(1, 100) ) # C++ file extension self.source_extension = np.TextProperty('cpp') self.header_extension = np.TextProperty('h') # output path output_path = config.default_output_path if self.multiple_files else config.default_output_file self.output_path = np.FileNameProperty(output_path, style=wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) self._update_output_path('python') self.overwrite = np.InvCheckBoxProperty(config.default_overwrite) # YYY self.mark_blocks = np.CheckBoxProperty(True) # output language languages = sorted( common.code_writers.keys() ) labels = [misc.capitalize(s) for s in languages] self.language = np.RadioProperty('python', languages, labels, columns=3) # gettext? self.use_gettext = np.CheckBoxProperty(config.default_use_gettext) # wx Version: string of major dot minor version number version = "%d.%d"%compat.version if not version in self.all_supported_versions: version = "2.8" if version[0]=="2" else "3.0" self.for_version = np.RadioProperty( version, self.all_supported_versions, tooltips=self._VERSION_TOOLTIPS) # encoding encodings = ["UTF-8", "ISO-8859-1", "ISO-8859-15", "CP1252"] # just some common values self.encoding = np.ComboBoxProperty(config.default_encoding, encodings) # top window name for the generated app self.top_window = prop = np.ListBoxProperty("", choices=[]) prop.auto_activated = True self.generate_code = np.ActionButtonProperty(self.generate_code) self.widget = None # always None, just to keep interface to Tree similar to other editors self.node = None
def __init__(self, name, parent, id, style, win_1, win_2, orientation, sizer, pos): ManagedBase.__init__(self, name, 'wxSplitterWindow', parent, id, sizer, pos) EditStylesMixin.__init__(self) # initialise instance properties self.no_custom_class = np.CheckBoxProperty(False, default_value=False) self.sash_pos = np.SpinPropertyD(0, default_value=0) self.min_pane_size = np.SpinProperty(20) # hidden properties: orientation string, window_1, window_2 self.orientation = np.Property(orientation) self.window_1 = ChildWidgetNameProperty("_window_1") self.window_2 = ChildWidgetNameProperty("_window_2") self.virtual_sizer = SplitterWindowSizer(self) labels = ("SLOT Left", "SLOT Right") if orientation == "wxSPLIT_VERTICAL" else ( "SLOT Top", "SLOT Bottom") self._window_1 = win_1 or SizerSlot(self, self.virtual_sizer, 1, labels[0]) self._window_2 = win_2 or SizerSlot(self, self.virtual_sizer, 2, labels[1]) if style: self.properties["style"].set(style)
def __init__(self, name, parent, orientation, pos, create_slots=True): ManagedBase.__init__(self, name, 'wxSplitterWindow', parent, pos) EditStylesMixin.__init__(self) # initialise instance properties self.no_custom_class = np.CheckBoxProperty(False, default_value=False) self.sash_pos = np.SpinPropertyD(0, default_value="") if hasattr(wx, "SpinCtrlDouble"): self.sash_gravity = np.SpinDoublePropertyD(0.5, (0.0,1.0), default_value=0.0, immediate=True) else: self.sash_gravity = np.FloatPropertyD(0.5, (0.0,1.0), default_value=0.0) self.min_pane_size = np.SpinPropertyA(20) # hidden properties: orientation string, window names window_1, window_2 self.orientation = np.Property(orientation) self.window_1 = ChildWidgetNameProperty(0) self.window_2 = ChildWidgetNameProperty(1) self._window_old = None