def builder(parent, sizer, pos): "factory function for EditFrame objects" import window_dialog base_classes = ['wxFrame', 'wxMDIChildFrame'] klass = 'wxFrame' if common.app_tree.app.language.lower( ) == 'xrc' else 'MyFrame' dialog = window_dialog.WindowDialog(klass, base_classes, 'Select frame class', True) res = dialog.show() dialog.Destroy() if res is None: return None klass, base = res name = dialog.get_next_name("frame") if base == "wxFrame": base_class = EditFrame else: base_class = EditMDIChildFrame frame = base_class(name, parent, wx.NewId(), name, klass=klass) node = Node(frame) frame.node = node common.app_tree.add(node) frame.create() frame.widget.Show() # add a default vertical sizer to the frame import edit_sizers edit_sizers._builder(frame, None, 0) # now select the frame's node in the tree common.app_tree.select_item(node) if wx.Platform == '__WXMSW__': #frame.widget.CenterOnScreen() frame.widget.Raise()
def builder(parent, index, klass=None): "factory function for EditToolBar objects" if klass is None: import window_dialog as wd klass = 'wxToolBar' if common.root.language.lower()=='xrc' else 'MyToolBar' # if e.g. on a frame, suggest the user to add the tool bar to this toplevel_widget = None if misc.focused_widget is not None and not misc.focused_widget.IS_ROOT: toplevel_widget = misc.focused_widget.toplevel_parent if not "toolbar" in toplevel_widget.properties: toplevel_widget = None if toplevel_widget is not None: dialog = wd.StandaloneOrChildDialog(klass, "Select toolbar type and class", toplevel_widget, "toolbar") else: dialog = wd.WindowDialog(klass, None, 'Select standalone toolbar class', True) klass = dialog.show() dialog.Destroy() if klass is None: return None else: # allow to call builder(frame, None, True) toplevel_widget = parent if index=="_toolbar" or klass is True: # add to frame editor = EditToolBar(toplevel_widget.name+"_toolbar", toplevel_widget) if toplevel_widget.widget: editor.create() return editor # a standalone toolbar name = dialog.get_next_name("toolbar") editor = EditTopLevelToolBar(name, parent, klass) editor.create() editor.widget.Show() return editor
def builder(parent, sizer, pos): "factory function for EditToolBar objects" import window_dialog as wd klass = 'wxToolBar' if common.app_tree.app.language.lower( ) == 'xrc' else 'MyToolBar' # if e.g. on a frame, suggest the user to add the tool bar to this toplevel_widget = None if misc.focused_widget is not None and misc.focused_widget.node.parent: toplevel_widget = common.app_tree._find_toplevel( misc.focused_widget.node).widget if not "toolbar" in toplevel_widget.properties: toplevel_widget = None if toplevel_widget is not None: dialog = wd.StandaloneOrChildDialog(klass, "Select toolbar type and class", toplevel_widget, "toolbar") else: dialog = wd.WindowDialog(klass, None, 'Select standalone toolbar class', True) klass = dialog.show() dialog.Destroy() if klass is None: return if klass is True: # add to toplevel widget toplevel_widget.properties["toolbar"].set(True, notify=True) return name = dialog.get_next_name("toolbar") with parent and parent.frozen() or misc.dummy_contextmanager(): tb = EditToolBar(name, klass, parent) tb.node = Node(tb) common.app_tree.add(tb.node) if parent and parent.widget: tb.create()
def builder(parent, pos): "factory function for EditMenuBar objects" import window_dialog as wd klass = 'wxMenuBar' if common.root.language.lower( ) == 'xrc' else 'MyMenuBar' # if e.g. on a frame, suggest the user to add the menu bar to this toplevel_widget = None if misc.focused_widget is not None and not misc.focused_widget.IS_ROOT: toplevel_widget = misc.focused_widget.toplevel_parent if not "menubar" in toplevel_widget.properties: toplevel_widget = None if toplevel_widget is not None: dialog = wd.StandaloneOrChildDialog(klass, "Select menubar type and class", toplevel_widget, "menubar") else: dialog = wd.WindowDialog(klass, None, 'Select standalone menubar class', True) klass = dialog.show() dialog.Destroy() if klass is None: return None if klass is True: # add to toplevel widget toplevel_widget.properties["menubar"].set(True, notify=True) return toplevel_widget._menubar name = dialog.get_next_name("menubar") with (not parent.IS_ROOT and parent.frozen()) or misc.dummy_contextmanager(): editor = EditMenuBar(name, klass, parent) editor.create() editor.widget.Show() return editor
def builder(parent, pos, klass=None, base=None, name=None): "factory function for EditFrame objects" global last_choices if klass is None or base is None: import window_dialog base_classes = ['wxFrame', 'wxMDIChildFrame'] klass = 'wxFrame' if common.root.language.lower( ) == 'xrc' else 'MyFrame' dialog = window_dialog.WindowDialog(klass, base_classes, 'Select frame class', True, options, last_choices) res = dialog.show() dialog.Destroy() if res is None: return None klass, base = res last_choices[:] = dialog.get_options() # remember for next time if config.debugging and last_choices[1]: XXX # provoke an error name = dialog.get_next_name("frame") interactive = True else: interactive = False # last_choices not to be obeyed if base == "wxFrame": base_class = EditFrame else: base_class = EditMDIChildFrame editor = base_class(name, parent, name, "wxDEFAULT_FRAME_STYLE", klass=klass) editor.properties['size'].set((400, 300), activate=True) editor.create() editor.widget.Show() editor.design.update_label() if interactive and last_choices[0]: # add a default panel and vertical sizer to the frame import edit_sizers, widgets.panel.panel panel_editor = widgets.panel.panel.builder(editor, 0) edit_sizers._builder(panel_editor, 0) else: # just add a slot Slot(editor, 0) import clipboard editor.drop_target = clipboard.DropTarget(editor) editor.widget.SetDropTarget(editor.drop_target) if wx.Platform == '__WXMSW__': #editor.widget.CenterOnScreen() editor.widget.Raise() return editor
def builder(parent, pos): "factory function for EditDialog objects" import window_dialog base_classes = ['wxDialog', 'wxPanel'] klass = 'wxDialog' if common.root.language.lower() == 'xrc' else 'MyDialog' dialog = window_dialog.WindowDialog(klass, base_classes, 'Select widget type', True) res = dialog.show() dialog.Destroy() if res is None: return klass, base = res name = 'dialog' if base == "wxDialog" else "panel" name = dialog.get_next_name(name) if base == "wxDialog": is_panel = False editor = EditDialog(name, parent, name, "wxDEFAULT_DIALOG_STYLE", klass=klass) else: is_panel = True import panel editor = panel.EditTopLevelPanel(name, parent, klass=klass) editor.create() if base == "wxDialog": editor.widget.Show() else: editor.widget.GetParent().Show( ) # the panel is created as child of a Frame editor.design.update_label() if wx.Platform == '__WXMSW__': if not is_panel: w = editor.widget else: w = editor.widget.GetParent() w.CenterOnScreen() w.Raise() import clipboard editor.drop_target = clipboard.DropTarget(editor) editor.widget.SetDropTarget(editor.drop_target) # add a default vertical sizer import edit_sizers edit_sizers._builder(editor, 0) return editor
def builder(parent, sizer, pos): "factory function for EditToolBar objects" import window_dialog klass = 'wxToolBar' if common.app_tree.app.language.lower()=='xrc' else 'MyToolBar' dialog = window_dialog.WindowDialog(klass, None, 'Select toolbar class', True) klass = dialog.show() dialog.Destroy() if klass is None: return name = dialog.get_next_name("toolbar") tb = EditToolBar(name, klass, parent) tb.node = Node(tb) common.app_tree.add(tb.node) if parent.widget: tb.create()
def builder(parent, sizer, pos, number=[0]): "factory function for EditMenuBar objects" klass = 'wxMenuBar' if common.app_tree.app.language.lower()=='xrc' else 'MyMenuBar' import window_dialog dialog = window_dialog.WindowDialog(klass, None, 'Select menubar class', True) klass = dialog.show() dialog.Destroy() if klass is None: return name = dialog.get_next_name("menubar") mb = EditMenuBar(name, klass, parent) mb.node = Node(mb) common.app_tree.add(mb.node) mb.create() mb.widget.Show()
def builder(parent, sizer, pos, klass=None, base=None, name=None): "factory function for EditFrame objects" if klass is None or base is None: import window_dialog base_classes = ['wxFrame', 'wxMDIChildFrame'] klass = 'wxFrame' if common.app_tree.app.language.lower( ) == 'xrc' else 'MyFrame' dialog = window_dialog.WindowDialog(klass, base_classes, 'Select frame class', True) res = dialog.show() dialog.Destroy() if res is None: return None klass, base = res name = dialog.get_next_name("frame") if base == "wxFrame": base_class = EditFrame else: base_class = EditMDIChildFrame frame = base_class(name, parent, wx.NewId(), name, "wxDEFAULT_FRAME_STYLE", klass=klass) frame.properties['size'].set((400, 300), activate=True) node = Node(frame) frame.node = node common.app_tree.add(node) frame.create() frame.widget.Show() frame.design.update_label() # add a default vertical sizer to the frame import edit_sizers edit_sizers._builder(frame, None, 0) # now select the frame's node in the tree common.app_tree.select_item(node) import clipboard frame.drop_target = clipboard.DropTarget(frame) frame.widget.SetDropTarget(frame.drop_target) if wx.Platform == '__WXMSW__': #frame.widget.CenterOnScreen() frame.widget.Raise()
def builder(parent, sizer, pos, number=[0]): "factory function for EditDialog objects" import window_dialog base_classes = ['wxDialog', 'wxPanel'] klass = 'wxDialog' if common.app_tree.app.language.lower( ) == 'xrc' else 'MyDialog' dialog = window_dialog.WindowDialog(klass, base_classes, 'Select widget type', True) res = dialog.show() dialog.Destroy() if res is None: return klass, base = res name = 'dialog' if base == "wxDialog" else "panel" name = dialog.get_next_name(name) if base == "wxDialog": is_panel = False dialog = EditDialog(name, parent, wx.NewId(), name, "wxDEFAULT_DIALOG_STYLE", klass=klass) else: is_panel = True import panel dialog = panel.EditTopLevelPanel(name, parent, wx.NewId(), klass=klass) node = Node(dialog) dialog.node = node dialog.create() if base == "wxDialog": dialog.widget.Show() else: dialog.widget.GetParent().Show( ) # the panel is created as child of a Frame common.app_tree.add(node) dialog.design.update_label() if wx.Platform == '__WXMSW__': if not is_panel: w = dialog.widget else: w = dialog.widget.GetParent() w.CenterOnScreen() w.Raise()
def builder(parent, index, klass=None): "factory function for EditMenuBar objects" # this one is a bit special as usually it's called with parent=application # if a frame w/o menubar is focused, it will ask the user whether he wants to add a menubar to that if klass is None: import window_dialog as wd klass = 'wxMenuBar' if common.root.language.lower( ) == 'xrc' else 'MyMenuBar' # if e.g. on a frame, suggest the user to add the menu bar to this toplevel_widget = None if misc.focused_widget is not None and not misc.focused_widget.IS_ROOT: toplevel_widget = misc.focused_widget.toplevel_parent if not "menubar" in toplevel_widget.properties: toplevel_widget = None if toplevel_widget is not None: dialog = wd.StandaloneOrChildDialog( klass, "Select menubar type and class", toplevel_widget, "menubar") else: dialog = wd.WindowDialog(klass, None, 'Select standalone menubar class', True) klass = dialog.show() dialog.Destroy() if klass is None: return None else: # allow to call builder(frame, None, True) toplevel_widget = parent if index == "_menubar" or klass is True: # add to frame editor = EditMenuBar(toplevel_widget.name + "_menubar", toplevel_widget) if toplevel_widget.widget: editor.create() return editor # a standalone menubar name = dialog.get_next_name("menubar") editor = EditTopLevelMenuBar(name, parent, klass) editor.create() editor.widget.Show() return editor