示例#1
0
        def __init__(self, parent, id, pt, sz, style):
            wx.ListCtrl.__init__(self, parent, id, pt, sz, style | wx.LC_REPORT)
            self.m_imageList = wx.ImageList(16, 16, True)
    
            self.m_imageList.Add(wx.Bitmap(get_image_path("unchecked.bmp"), wx.BITMAP_TYPE_BMP))
            self.m_imageList.Add(wx.Bitmap(get_image_path("checked.bmp"), wx.BITMAP_TYPE_BMP))

            self.SetImageList(self.m_imageList, wx.IMAGE_LIST_SMALL)

            info = wx.ListItem()
            info.m_mask = wx.LIST_MASK_TEXT | wx.LIST_MASK_FORMAT
            info.m_format = 0
            info.m_text = _("Behaviour")
            self.InsertColumnInfo(0, info)
            self.SetColumnWidth(0, 200)

            wx.EVT_LEFT_DCLICK(self, self.OnMouseEvent)
示例#2
0
文件: __init__.py 项目: tillwf/artub
 def __init__(self, parent, ID):
     PythonSTC.__init__(self, parent, ID)
     self.SetEdgeMode(stc.STC_EDGE_NONE)
     self.SetSelBackground(True, wx.SystemSettings_GetColour(wx.SYS_COLOUR_HIGHLIGHT))
     self.SetSelForeground(True, wx.SystemSettings_GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT))
     self.SetModEventMask(stc.STC_MOD_INSERTTEXT | stc.STC_MOD_DELETETEXT)
     self.Bind(wx.stc.EVT_STC_MODIFIED, self.on_code_modified)
     self.Bind(wx.stc.EVT_STC_UPDATEUI, self.on_change)
     self.bmp = wx.Bitmap(get_image_path("breakpoint2.png"))
     self.SetMarginMask(1, 0x0ff)
     self.MarkerDefineBitmap(6, self.bmp)
     self.bmp = wx.Bitmap(get_image_path("cursor2.png"))
     self.MarkerDefineBitmap(5, self.bmp)
     self.ignore_code_modified = False
     self.finddata = wx.FindReplaceData()
     self.Bind(wx.EVT_FIND, self.on_find)
     self.Bind(wx.EVT_FIND_REPLACE, self.on_replace)
     self.Bind(wx.EVT_FIND_REPLACE_ALL, self.on_replace_all)
示例#3
0
 def createControl(self, parent, idx, sizeX, editMeth):
     bmp = wx.Image(get_image_path('ellipsis.xpm'), wx.BITMAP_TYPE_XPM).ConvertToBitmap()
     self.editorCtrl = wx.BitmapButton(parent, self.wID, bmp,
       wx.Point(sizeX - self.btnSize - 3, idx*oiLineHeight +1),
       wx.Size(self.btnSize, oiLineHeight-2))
     self.propValLabel = wx.StaticText(parent, -1, str(self.getValue()),
       wx.Point(2, idx*oiLineHeight+2), 
       wx.Size(sizeX - self.btnSize - 6, oiLineHeight-3),
       style=wx.ST_NO_AUTORESIZE)
     wx.EVT_BUTTON(self.editorCtrl, self.wID, editMeth)
     BevelIEC.createControl(self, parent, idx, sizeX)
示例#4
0
    def __init__(self,
                 parent=None,
                 id=-1,
                 title=_("Debug"),
                 pos=wx.DefaultPosition,
                 size=wx.DefaultSize,
                 style=wx.TB_FLAT | wx.TB_NODIVIDER | wx.TB_HORIZONTAL,
                 name="debugbar",
                 value=None):

        wx.ToolBar.__init__(self, parent, id, pos, size, style)
        self.artub = wx.GetApp().frame

        self.SetToolBitmapSize(wx.Size(16, 16))
        bmp = wx.Bitmap(get_image_path("breakpoint.xpm"))
        self.AddSimpleTool(self.artub.breakID, bmp, _("Toggle breakpoint"),
                           _("Toggle breakpoint"))
        bmp = wx.Bitmap(get_image_path("go.xpm"))
        self.AddSimpleTool(self.artub.runprojectID, bmp, _("Go"), _("Go"))
        self.EnableTool(self.artub.runprojectID, False)
        bmp = wx.Bitmap(get_image_path("step.xpm"))
        self.AddSimpleTool(STEP_ID, bmp, _("Step"), _("Step"))
        bmp = wx.Bitmap(get_image_path("next.xpm"))
        self.AddSimpleTool(NEXT_ID, bmp, _("Next"), _("Next"))
        bmp = wx.Bitmap(get_image_path("return.xpm"))
        self.AddSimpleTool(RETURN_ID, bmp, _("Return"), _("Return"))
        self.AddSimpleTool(CONTINUE_ID, bmp, _("Continue"), _("Continue"))
        bmp = wx.Bitmap(get_image_path("gotocursor.xpm"))
        self.AddSimpleTool(GO_TO_CURSOR_ID, bmp, _("Go to cursor"),
                           _("Go to cursor"))
        # bmp = wx.Bitmap(get_image_path("pause.png"))
        # self.AddSimpleTool(PAUSE_ID, bmp, _("Pause"), _("Pause"))
        bmp = wx.Bitmap(get_image_path("debugstop.xpm"))
        self.AddSimpleTool(DEBUG_STOP_ID, bmp, _("Stop"), _("Stop"))
        self.Bind(wx.EVT_TOOL,
                  self.on_toggle_breakpoint,
                  id=self.artub.breakID)
        self.Bind(wx.EVT_TOOL,
                  self.artub.on_debug_run,
                  id=self.artub.runprojectID)
        self.Bind(wx.EVT_TOOL, self.on_step, id=STEP_ID)
        self.Bind(wx.EVT_TOOL, self.on_next, id=NEXT_ID)
        self.Bind(wx.EVT_TOOL, self.on_return, id=RETURN_ID)
        self.Bind(wx.EVT_TOOL, self.on_continue, id=CONTINUE_ID)
        self.Bind(wx.EVT_TOOL, self.on_go_to_cursor, id=GO_TO_CURSOR_ID)
        # self.Bind(wx.EVT_TOOL, self.on_pause, id=PAUSE_ID)
        self.Bind(wx.EVT_TOOL, self.on_stop, id=DEBUG_STOP_ID)

        self.set_debugging(self.artub.debugging)

        self.Realize()
示例#5
0
 def createControl(self, parent, idx, sizeX, editMeth):
     bmp = wx.Image(get_image_path('ellipsis.xpm'),
                    wx.BITMAP_TYPE_XPM).ConvertToBitmap()
     self.editorCtrl = wx.BitmapButton(
         parent, self.wID, bmp,
         wx.Point(sizeX - self.btnSize - 3, idx * oiLineHeight + 1),
         wx.Size(self.btnSize, oiLineHeight - 2))
     self.propValLabel = wx.StaticText(parent,
                                       -1,
                                       str(self.getValue()),
                                       wx.Point(2, idx * oiLineHeight + 2),
                                       wx.Size(sizeX - self.btnSize - 6,
                                               oiLineHeight - 3),
                                       style=wx.ST_NO_AUTORESIZE)
     wx.EVT_BUTTON(self.editorCtrl, self.wID, editMeth)
     BevelIEC.createControl(self, parent, idx, sizeX)
示例#6
0
文件: debugbar.py 项目: lebauce/artub
    def __init__(self, parent=None, id=-1, title = _("Debug"),
                 pos = wx.DefaultPosition, size = wx.DefaultSize,
                 style = wx.TB_FLAT | wx.TB_NODIVIDER | wx.TB_HORIZONTAL,
                 name = "debugbar", value = None):
        
        wx.ToolBar.__init__(self, parent, id, pos, size, style)
        self.artub = wx.GetApp().frame

        self.SetToolBitmapSize(wx.Size(16, 16))
        bmp = wx.Bitmap(get_image_path("breakpoint.xpm"))
        self.AddSimpleTool(self.artub.breakID, bmp, _("Toggle breakpoint"), _("Toggle breakpoint"))
        bmp = wx.Bitmap(get_image_path("go.xpm"))
        self.AddSimpleTool(self.artub.runprojectID, bmp, _("Go"), _("Go"))
        self.EnableTool(self.artub.runprojectID, False)
        bmp = wx.Bitmap(get_image_path("step.xpm"))
        self.AddSimpleTool(STEP_ID, bmp, _("Step"), _("Step"))
        bmp = wx.Bitmap(get_image_path("next.xpm"))
        self.AddSimpleTool(NEXT_ID, bmp, _("Next"), _("Next"))
        bmp = wx.Bitmap(get_image_path("return.xpm"))
        self.AddSimpleTool(RETURN_ID, bmp, _("Return"), _("Return"))
        self.AddSimpleTool(CONTINUE_ID, bmp, _("Continue"), _("Continue"))
        bmp = wx.Bitmap(get_image_path("gotocursor.xpm"))
        self.AddSimpleTool(GO_TO_CURSOR_ID, bmp, _("Go to cursor"), _("Go to cursor"))
        # bmp = wx.Bitmap(get_image_path("pause.png"))
        # self.AddSimpleTool(PAUSE_ID, bmp, _("Pause"), _("Pause"))
        bmp = wx.Bitmap(get_image_path("debugstop.xpm"))
        self.AddSimpleTool(DEBUG_STOP_ID, bmp, _("Stop"), _("Stop"))
        self.Bind(wx.EVT_TOOL, self.on_toggle_breakpoint, id=self.artub.breakID)
        self.Bind(wx.EVT_TOOL, self.artub.on_debug_run, id=self.artub.runprojectID)
        self.Bind(wx.EVT_TOOL, self.on_step, id=STEP_ID)
        self.Bind(wx.EVT_TOOL, self.on_next, id=NEXT_ID)
        self.Bind(wx.EVT_TOOL, self.on_return, id=RETURN_ID)
        self.Bind(wx.EVT_TOOL, self.on_continue, id=CONTINUE_ID)
        self.Bind(wx.EVT_TOOL, self.on_go_to_cursor, id=GO_TO_CURSOR_ID)
        # self.Bind(wx.EVT_TOOL, self.on_pause, id=PAUSE_ID)
        self.Bind(wx.EVT_TOOL, self.on_stop, id=DEBUG_STOP_ID)
        
        self.set_debugging(self.artub.debugging)
        
        self.Realize()
示例#7
0
    def __init__(self,
                 parent,
                 id,
                 label,
                 pos=wx.DefaultPosition,
                 size=wx.DefaultSize,
                 style=wxEL_ALLOW_NEW | wxEL_ALLOW_EDIT | wxEL_ALLOW_DELETE
                 | wxEL_ALLOW_UPDOWN,
                 name="editablelistbox"):
        wx.Panel.__init__(self, parent, id, pos, size, wx.TAB_TRAVERSAL, name)
        self.m_bEdit = self.m_bNew = self.m_bDel = self.m_bUp = m_bDown = None
        sizer = wx.BoxSizer(wx.VERTICAL)
        self.subp = wx.Panel(self, -1, wx.DefaultPosition, wx.DefaultSize,
                             wx.SUNKEN_BORDER | wx.TAB_TRAVERSAL)
        subsizer = wx.BoxSizer(wx.HORIZONTAL)
        if style & wxEL_SHOW_TEXT:
            subsizer.Add(wx.StaticText(self.subp, -1, label), 1,
                         wx.ALIGN_CENTRE_VERTICAL | wx.LEFT, 4)
        else:
            subsizer.Add(wx.StaticText(self.subp, -1, ""), 1,
                         wx.ALIGN_CENTRE_VERTICAL | wx.LEFT, 4)

        self.m_style = style
        self.m_selection = 0

        # Si ca deconne sous Windows, voir le fichier original
        if style & wxEL_ALLOW_EDIT:
            self.m_bEdit = wx.BitmapButton(
                self.subp, wxID_ELB_EDIT,
                wx.Bitmap(get_image_path("edit.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bEdit, 0,
                         wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM,
                         BTN_BORDER)
            wx.EVT_BUTTON(self.m_bEdit, wxID_ELB_EDIT, self.OnEditItem)

        if style & wxEL_ALLOW_NEW:
            self.m_bNew = wx.BitmapButton(
                self.subp, wxID_ELB_NEW,
                wx.Bitmap(get_image_path("new.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bNew, 0,
                         wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM,
                         BTN_BORDER)
            wx.EVT_BUTTON(self.m_bNew, wxID_ELB_NEW, self.OnNewItem)

        if style & wxEL_ALLOW_DELETE:
            self.m_bDel = wx.BitmapButton(
                self.subp, wxID_ELB_DELETE,
                wx.Bitmap(get_image_path("delete.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bDel, 0,
                         wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM,
                         BTN_BORDER)
            wx.EVT_BUTTON(self.m_bDel, wxID_ELB_DELETE, self.OnDelItem)

        if style & wxEL_ALLOW_UPDOWN:
            self.m_bUp = wx.BitmapButton(
                self.subp, wxID_ELB_UP,
                wx.Bitmap(get_image_path("up.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bUp, 0,
                         wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM,
                         BTN_BORDER)

            self.m_bDown = wx.BitmapButton(
                self.subp, wxID_ELB_DOWN,
                wx.Bitmap(get_image_path("down.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bDown, 0,
                         wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM,
                         BTN_BORDER)
            wx.EVT_BUTTON(self.m_bUp, wxID_ELB_UP, self.OnUpItem)
            wx.EVT_BUTTON(self.m_bDown, wxID_ELB_DOWN, self.OnDownItem)

        self.subp.SetAutoLayout(True)
        self.subp.SetSizer(subsizer)
        self.subsizer = subsizer
        subsizer.Fit(self.subp)

        sizer.Add(self.subp, 0, wx.EXPAND)

        class MyPanel(wx.Panel):
            def OnSize(self, event):
                w, h = self.GetClientSizeTuple()
                self.list.SetDimensions(0, 0, w, h)

            def __init__(self, parent):
                wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS)
                self.Bind(wx.EVT_SIZE, self.OnSize)

        p = MyPanel(self)

        st = wx.LC_REPORT | wx.LC_NO_HEADER | wx.LC_SINGLE_SEL | wx.SUNKEN_BORDER

        if style & wxEL_ALLOW_EDIT:
            st |= wx.LC_EDIT_LABELS

        self.m_listCtrl = CleverListCtrl(p, wxID_ELD_LISTCTRL,
                                         wx.DefaultPosition, wx.DefaultSize,
                                         st)

        self.SetStrings([])

        p.list = self.m_listCtrl
        sizer.Add(p, 1, wx.EXPAND)

        self.SetAutoLayout(True)
        self.SetSizer(sizer)
        self.Layout()

        wx.EVT_LIST_ITEM_SELECTED(self.m_listCtrl, wxID_ELD_LISTCTRL,
                                  self.OnItemSelected)
        wx.EVT_LIST_END_LABEL_EDIT(self.m_listCtrl, wxID_ELD_LISTCTRL,
                                   self.OnEndLabelEdit)
示例#8
0
    def __init__(self,
                 parent,
                 ID,
                 title,
                 size=wx.DefaultSize,
                 pos=wx.DefaultPosition,
                 style=wx.DEFAULT_DIALOG_STYLE):

        pre = wx.PreDialog()
        pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
        pre.Create(parent, ID, title, pos, size, style)
        self.this = pre.this

        sizer = wx.BoxSizer(wx.VERTICAL)

        self.il = wx.ImageList(32, 32)

        self.idx1 = self.il.Add(
            wx.Bitmap(get_image_path("bike.png"), wx.BITMAP_TYPE_PNG))
        self.idx1 = self.il.Add(
            wx.Bitmap(get_image_path("drum.png"), wx.BITMAP_TYPE_PNG))
        self.idx1 = self.il.Add(
            wx.Bitmap(get_image_path("isidoor.xpm"), wx.BITMAP_TYPE_XPM))

        self.list = wx.ListCtrl(self,
                                wx.NewId(),
                                size=wx.Size(400, 120),
                                style=wx.LC_ICON | wx.SUNKEN_BORDER
                                | wx.LC_NO_HEADER)

        self.list.SetImageList(self.il, wx.IMAGE_LIST_NORMAL)
        sizer.Add(self.list, 2, wx.ALL | wx.GROW, 5)
        index = 0
        self.templates = []
        for plugin in wx.GetApp().frame.plugins:
            if hasattr(plugin, "get_new_templates"):
                for templ in plugin.get_new_templates():
                    self.list.InsertImageStringItem(index, templ[0], index)
                    self.templates.append((plugin, templ))
                    index = index + 1

        wx.EVT_LIST_ITEM_SELECTED(self.list, self.list.GetId(),
                                  self.on_change_selection)

        self.description = wx.TextCtrl(self,
                                       wx.NewId(),
                                       style=wx.TE_MULTILINE | wx.TE_READONLY,
                                       size=(100, 60))
        sizer.Add(self.description, 0,
                  wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 3)

        box = wx.BoxSizer(wx.HORIZONTAL)

        label = wx.StaticText(self, -1, _("Name :"))
        label.SetHelpText(_("The full name of your game"))
        box.Add(label, 0, wx.GROW | wx.ALL, 2)

        self.name = wx.TextCtrl(self, -1, "", size=(80, -1))
        self.name.SetHelpText(_("The full name of your game"))
        wx.EVT_KILL_FOCUS(self.name, self.on_kill_focus)
        box.Add(self.name, 1, wx.GROW | wx.ALL, 2)

        sizer.AddSizer(box, 0, wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 3)

        box = wx.BoxSizer(wx.HORIZONTAL)

        label = wx.StaticText(self, -1, _("Short name :"))
        label.SetHelpText(_("Will be used to name files"))
        box.Add(label, 0, wx.GROW | wx.ALL, 2)

        self.normname = IdentifierCtrl(self, -1, "", size=(80, -1))
        self.normname.SetHelpText(_("Will be used to name files"))
        box.Add(self.normname, 1, wx.GROW | wx.ALL, 2)

        sizer.AddSizer(box, 0, wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 3)

        box = wx.BoxSizer(wx.HORIZONTAL)

        import wx.lib.filebrowsebutton as filebrowse
        self.dbb = filebrowse.DirBrowseButton(self,
                                              -1,
                                              changeCallback=self.dbbCallback)

        import os
        if os.name == "nt":
            import winshell
            self.folder = winshell.my_documents()
        else:
            self.folder = os.path.expanduser('~')
        self.dbb.SetValue(self.folder)

        box.Add(self.dbb, 2, wx.GROW | wx.ALL, 2)

        sizer.AddSizer(box, 0, wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 3)

        line = wx.StaticLine(self, -1, size=(20, -1), style=wx.LI_HORIZONTAL)
        sizer.Add(line, 0,
                  wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.TOP, 5)

        box = wx.StdDialogButtonSizer()

        if wx.Platform != "__WXMSW__":
            btn = wx.ContextHelpButton(self)
            box.Add(btn, 0, wx.ALIGN_CENTRE | wx.ALL, 5)

        btn = wx.Button(self, wx.ID_OK, _("Ok"))
        btn.SetDefault()
        box.Add(btn, 0, wx.ALIGN_CENTRE | wx.ALL, 5)
        wx.EVT_BUTTON(self, wx.ID_OK, self.OnOK)

        btn = wx.Button(self, wx.ID_CANCEL, _("Cancel"))
        box.Add(btn, 0, wx.ALIGN_CENTRE | wx.ALL, 5)

        sizer.Add(
            box, 0,
            wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 10)

        item = self.list.GetNextItem(-1, wx.LIST_NEXT_ALL)
        if item != -1:
            self.list.SetItemState(item, -1, wx.LIST_STATE_SELECTED)

        self.SetSizer(sizer)
        self.SetAutoLayout(True)
        sizer.Fit(self)
示例#9
0
    def __init__(
        self, parent=None, id=-1, title = "ObjectEditor",
        pos = wx.DefaultPosition, size = wx.DefaultSize,
        style = wx.DEFAULT_FRAME_STYLE,
        name = "objecteditor",
        value = None,
    ):
        wx.Panel.__init__(self, parent, -1)
        panel = self
        sizer = wx.BoxSizer(wx.VERTICAL)
        
        sizer2 = wx.BoxSizer(wx.HORIZONTAL)
        self.newprop = wx.BitmapButton(self, 100, 
                                       wx.Bitmap(get_image_path('new.xpm'), wx.BITMAP_TYPE_XPM))
        self.newprop.SetToolTipString(_("Create a new property"))
        sizer2.Add(self.newprop, 0)
        
        self.delprop = wx.BitmapButton(self, 101, 
                                       wx.Bitmap(get_image_path('delete.xpm'), wx.BITMAP_TYPE_XPM))
        self.delprop.SetToolTipString(_("Delete property"))
        self.delprop.Enable(False)
        sizer2.Add(self.delprop, 0)

        self.filter = wx.BitmapButton(self, 102, 
                                       wx.Bitmap(get_image_path('filter.xpm'), wx.BITMAP_TYPE_XPM))
        self.filter.SetToolTipString(_("Filter properties"))
        sizer2.Add(self.filter, 0)
        
        sizer.Add(sizer2)
        
        self.nb = wx.aui.AuiNotebook(self, id, pos, wx.DefaultSize, style = wx.aui.AUI_NB_SCROLL_BUTTONS)
        sizer.Add(self.nb, 4, wx.EXPAND)
        self.artub_frame = parent
        self.inspector = InspectorPropScrollWin(self.nb, -1, wx.DefaultPosition, wx.DefaultSize) # wx.Size(size[0], size[1]))
        self.inspector.pb = self
        self.events = InspectorScrollWin(self.nb, -1, wx.DefaultPosition, wx.DefaultSize)
        self.events.pb = self
        self.nb.AddPage(self.inspector, _("Properties"))
        self.nb.AddPage(self.events, _("Events"))
        self.help = html.HtmlWindow(panel, -1, style=wx.BORDER | wx.NO_FULL_REPAINT_ON_RESIZE)
        class MyPanel(wx.Panel):
            def OnSize(self, event):
                w,h = self.GetClientSizeTuple()
                self.list.SetDimensions(0, 0, w, h)
                
            def __init__(self, parent):
                wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS)
                self.Bind(wx.EVT_SIZE, self.OnSize)

        panel2 = MyPanel(self.nb)        
        panel2.list = self.behaviors = BehaviorsWindow(panel2, 10001)
        self.nb.AddPage(panel2, _("Behaviors"))
        sizer.Add(self.help, 1, wx.EXPAND)
        self.dict = {}
        self.active_resource = None
        self.dont_select = False
        self.sizer = sizer
        self.panel = panel
        ignore = set()
        for i in ('variables', 'class_name'):
            ignore.add(i)
        self.ignore = ignore
        self.name_values_stock = []
        self.events_name_values_stock = []
        panel.SetSizer(sizer)
        sizer.Fit(self)
        
        wx.EVT_BUTTON(self, 100, self.inspector.on_new_property)
        wx.EVT_BUTTON(self, 101, self.inspector.on_del_property)
示例#10
0
    def __init__(self, parent, id, label, pos = wx.DefaultPosition, size = wx.DefaultSize, style = wxEL_ALLOW_NEW | wxEL_ALLOW_EDIT | wxEL_ALLOW_DELETE | wxEL_ALLOW_UPDOWN, name = "editablelistbox"):
        wx.Panel.__init__(self, parent, id, pos, size, wx.TAB_TRAVERSAL, name)
        self.m_bEdit = self.m_bNew = self.m_bDel = self.m_bUp = m_bDown = None
        sizer = wx.BoxSizer(wx.VERTICAL)
        self.subp = wx.Panel(self, -1, wx.DefaultPosition, wx.DefaultSize, wx.SUNKEN_BORDER | wx.TAB_TRAVERSAL)
        subsizer = wx.BoxSizer(wx.HORIZONTAL)
        if style & wxEL_SHOW_TEXT:
            subsizer.Add(wx.StaticText(self.subp, -1, label), 1, wx.ALIGN_CENTRE_VERTICAL | wx.LEFT, 4)
        else:
            subsizer.Add(wx.StaticText(self.subp, -1, ""), 1, wx.ALIGN_CENTRE_VERTICAL | wx.LEFT, 4)

        self.m_style = style
        self.m_selection = 0
        
        # Si ca deconne sous Windows, voir le fichier original
        if style & wxEL_ALLOW_EDIT:
            self.m_bEdit = wx.BitmapButton(self.subp, wxID_ELB_EDIT, wx.Bitmap(get_image_path("edit.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bEdit, 0, wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM, BTN_BORDER)
            wx.EVT_BUTTON(self.m_bEdit, wxID_ELB_EDIT, self.OnEditItem)

        if style & wxEL_ALLOW_NEW:
            self.m_bNew = wx.BitmapButton(self.subp, wxID_ELB_NEW, wx.Bitmap(get_image_path("new.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bNew, 0, wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM, BTN_BORDER)
            wx.EVT_BUTTON(self.m_bNew, wxID_ELB_NEW, self.OnNewItem)

        if style & wxEL_ALLOW_DELETE:
            self.m_bDel = wx.BitmapButton(self.subp, wxID_ELB_DELETE, wx.Bitmap(get_image_path("delete.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bDel, 0, wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM, BTN_BORDER)
            wx.EVT_BUTTON(self.m_bDel, wxID_ELB_DELETE, self.OnDelItem)

        if style & wxEL_ALLOW_UPDOWN:
            self.m_bUp = wx.BitmapButton(self.subp, wxID_ELB_UP, wx.Bitmap(get_image_path("up.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bUp, 0, wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM, BTN_BORDER)
        
            self.m_bDown = wx.BitmapButton(self.subp, wxID_ELB_DOWN, wx.Bitmap(get_image_path("down.xpm"), wx.BITMAP_TYPE_XPM))
            subsizer.Add(self.m_bDown, 0, wx.ALIGN_CENTRE_VERTICAL | wx.TOP | wx.BOTTOM, BTN_BORDER)
            wx.EVT_BUTTON(self.m_bUp, wxID_ELB_UP, self.OnUpItem)
            wx.EVT_BUTTON(self.m_bDown, wxID_ELB_DOWN, self.OnDownItem)

        self.subp.SetAutoLayout(True)
        self.subp.SetSizer(subsizer)
        self.subsizer = subsizer
        subsizer.Fit(self.subp)

        sizer.Add(self.subp, 0, wx.EXPAND)

        class MyPanel(wx.Panel):
            def OnSize(self, event):
                w,h = self.GetClientSizeTuple()
                self.list.SetDimensions(0, 0, w, h)
                
            def __init__(self, parent):
                wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS)
                self.Bind(wx.EVT_SIZE, self.OnSize)
        
        p = MyPanel(self)
        
        st = wx.LC_REPORT | wx.LC_NO_HEADER | wx.LC_SINGLE_SEL | wx.SUNKEN_BORDER
        
        if style & wxEL_ALLOW_EDIT:
            st |= wx.LC_EDIT_LABELS

        self.m_listCtrl = CleverListCtrl(p, wxID_ELD_LISTCTRL,
                                    wx.DefaultPosition, wx.DefaultSize, st)

        self.SetStrings([])

        p.list = self.m_listCtrl
        sizer.Add(p, 1, wx.EXPAND)

        self.SetAutoLayout(True)
        self.SetSizer(sizer)
        self.Layout()

        wx.EVT_LIST_ITEM_SELECTED(self.m_listCtrl, wxID_ELD_LISTCTRL, self.OnItemSelected)
        wx.EVT_LIST_END_LABEL_EDIT(self.m_listCtrl, wxID_ELD_LISTCTRL, self.OnEndLabelEdit)
示例#11
0
文件: __init__.py 项目: tillwf/artub
    def __init__(self,
                 mouquet,
                 parent=None,
                 pos=wx.DefaultPosition,
                 size=wx.DefaultSize):

        wx.Panel.__init__(self, parent, -1)

        sizer = wx.BoxSizer(wx.VERTICAL)

        tb = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL \
                                 | wx.NO_BORDER \
                                 | wx.TB_FLAT \
                                 | wx.TB_TEXT \
                                 )

        id = wx.NewId()
        tb.AddTool(id, wx.Bitmap(get_image_path("play.xpm"),
                                 wx.BITMAP_TYPE_XPM))
        self.Bind(wx.EVT_TOOL, self.on_play, id=id)
        id = wx.NewId()
        tb.AddTool(id, wx.Bitmap(get_image_path("stop.xpm"),
                                 wx.BITMAP_TYPE_XPM))
        self.Bind(wx.EVT_TOOL, self.on_stop, id=id)
        id = wx.NewId()
        tb.AddTool(
            id, wx.Bitmap(get_image_path("split_li.xpm"), wx.BITMAP_TYPE_XPM))
        self.Bind(wx.EVT_TOOL, self.on_set_hotspot, id=id)
        id = wx.NewId()
        tb.AddTool(
            id, wx.Bitmap(get_image_path("moveoffset.png"),
                          wx.BITMAP_TYPE_PNG))
        self.Bind(wx.EVT_TOOL, self.on_set_move_offset, id=id)

        tb.Realize()

        sizer.Add(tb, 0, wx.BOTTOM, 5)

        self.nb = wx.Notebook(self,
                              -1,
                              wx.DefaultPosition,
                              style=wx.CLIP_CHILDREN)

        sizer.Add(self.nb, 1, wx.EXPAND)

        self.vframes_elb = EditableListBox(self.nb,
                                           -1,
                                           _("Virtual frames"),
                                           style=wxEL_ALLOW_NEW
                                           | wxEL_ALLOW_DELETE)

        button = self.vframes_elb.GetDelButton()
        wx.EVT_BUTTON(button, -1, self.on_delete_vframe)

        button = self.vframes_elb.GetNewButton()
        wx.EVT_BUTTON(button, -1, self.on_add_vframe)

        self.frames_elb = EditableListBox(
            self.nb,
            -1,
            _("Image list"),
            style=wxEL_ALLOW_NEW | wxEL_ALLOW_DELETE)  # | wx.EL_ALLOW_EDIT

        self.nb.AddPage(self.frames_elb, _('Images'))
        self.nb.AddPage(self.vframes_elb, _('Frames'))

        listctrl = self.frames_elb.GetListCtrl()
        wx.EVT_LIST_ITEM_SELECTED(listctrl, listctrl.GetId(),
                                  self.on_frame_select)
        listctrl = self.vframes_elb.GetListCtrl()
        wx.EVT_LIST_ITEM_SELECTED(listctrl, listctrl.GetId(),
                                  self.on_vframe_select)
        # self.vframes_elb.Bind(wx.EVT_LIST_ITEM_SELECTED, self.on_vframe_select)

        button = self.vframes_elb.GetDelButton()
        wx.EVT_BUTTON(button, button.GetId(), self.on_delete_vframe)

        button = self.vframes_elb.GetNewButton()
        wx.EVT_BUTTON(button, button.GetId(), self.on_add_vframe)

        button = self.frames_elb.GetDelButton()
        wx.EVT_BUTTON(button, button.GetId(), self.on_delete_image)

        button = self.frames_elb.GetNewButton()
        wx.EVT_BUTTON(button, button.GetId(), self.on_add_image)

        self.mouquet = mouquet

        self.prevent_from_select = False

        self.SetSizer(sizer)
        sizer.Fit(self)
示例#12
0
文件: __init__.py 项目: tillwf/artub
 def add_image(self, index):
     anim = self.sprite.current_anim
     anim.loaded = False
     anim.add_frame(get_image_path("noimage.png"))
     anim.build()
示例#13
0
    def __init__(
            self, parent, ID, title, size=wx.DefaultSize, pos=wx.DefaultPosition, 
            style=wx.DEFAULT_DIALOG_STYLE
            ):

        pre = wx.PreDialog()
        pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
        pre.Create(parent, ID, title, pos, size, style)
        self.this = pre.this

        sizer = wx.BoxSizer(wx.VERTICAL)

        self.il = wx.ImageList(32, 32)

        self.idx1 = self.il.Add(wx.Bitmap(get_image_path("bike.png"), wx.BITMAP_TYPE_PNG))
        self.idx1 = self.il.Add(wx.Bitmap(get_image_path("drum.png"), wx.BITMAP_TYPE_PNG))
        self.idx1 = self.il.Add(wx.Bitmap(get_image_path("isidoor.xpm"), wx.BITMAP_TYPE_XPM))
        
        self.list = wx.ListCtrl(self, wx.NewId(),
                                 size = wx.Size(400, 120),
                                 style = wx.LC_ICON | wx.SUNKEN_BORDER | wx.LC_NO_HEADER)

        self.list.SetImageList(self.il, wx.IMAGE_LIST_NORMAL)
        sizer.Add(self.list, 2, wx.ALL|wx.GROW, 5)
        index = 0
        self.templates = []
        for plugin in wx.GetApp().frame.plugins:
            if hasattr(plugin, "get_new_templates"):
                for templ in plugin.get_new_templates():
                    self.list.InsertImageStringItem(index, templ[0], index)
                    self.templates.append( (plugin, templ) )
                    index = index + 1
                    
        wx.EVT_LIST_ITEM_SELECTED(self.list, self.list.GetId(), self.on_change_selection)

        self.description = wx.TextCtrl(self, wx.NewId(), style = wx.TE_MULTILINE | wx.TE_READONLY, size=(100, 60))
        sizer.Add(self.description, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)
                
        box = wx.BoxSizer(wx.HORIZONTAL)

        label = wx.StaticText(self, -1, _("Name :"))
        label.SetHelpText(_("The full name of your game"))
        box.Add(label, 0, wx.GROW|wx.ALL, 2)

        self.name = wx.TextCtrl(self, -1, "", size=(80,-1))
        self.name.SetHelpText(_("The full name of your game"))
        wx.EVT_KILL_FOCUS(self.name, self.on_kill_focus)
        box.Add(self.name, 1, wx.GROW|wx.ALL, 2)

        sizer.AddSizer(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)

        box = wx.BoxSizer(wx.HORIZONTAL)

        label = wx.StaticText(self, -1, _("Short name :"))
        label.SetHelpText(_("Will be used to name files"))
        box.Add(label, 0, wx.GROW|wx.ALL, 2)

        self.normname = IdentifierCtrl(self, -1, "", size=(80,-1))
        self.normname.SetHelpText(_("Will be used to name files"))
        box.Add(self.normname, 1, wx.GROW|wx.ALL, 2)

        sizer.AddSizer(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)

        box = wx.BoxSizer(wx.HORIZONTAL)

        import  wx.lib.filebrowsebutton as filebrowse
        self.dbb = filebrowse.DirBrowseButton(self, -1, changeCallback = self.dbbCallback)

        import os
        if os.name == "nt":
            import winshell
            self.folder = winshell.my_documents ()
        else:
            self.folder = os.path.expanduser('~')
        self.dbb.SetValue(self.folder)

        box.Add(self.dbb, 2, wx.GROW|wx.ALL, 2)
        
        sizer.AddSizer(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 3)

        line = wx.StaticLine(self, -1, size=(20,-1), style=wx.LI_HORIZONTAL)
        sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.TOP, 5)

        box = wx.StdDialogButtonSizer()

        if wx.Platform != "__WXMSW__":
            btn = wx.ContextHelpButton(self)
            box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)

        btn = wx.Button(self, wx.ID_OK, _("Ok"))
        btn.SetDefault()
        box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
        wx.EVT_BUTTON(self, wx.ID_OK, self.OnOK)

        btn = wx.Button(self, wx.ID_CANCEL, _("Cancel"))
        box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)

        sizer.Add(box, 0,  wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 10)

        item = self.list.GetNextItem(-1,
                                     wx.LIST_NEXT_ALL)
        if item != -1:
            self.list.SetItemState(item, -1,
                                     wx.LIST_STATE_SELECTED)

        self.SetSizer(sizer)
        self.SetAutoLayout(True)
        sizer.Fit(self)