Alien-SVN

 view release on metacpan or  search on metacpan

src/subversion/tools/examples/SvnCLBrowse  view on Meta::CPAN

    self.SetAppName("SvnCLBrowse")

    self.xrc = wx.xrc.EmptyXmlResource()
    wx.FileSystem.AddHandler(wx.MemoryFSHandler())
    wx.MemoryFSHandler.AddFile('XRC/SvnCLBrowse.xrc', _XML_RESOURCE)
    self.xrc.Load('memory:XRC/SvnCLBrowse.xrc')

    # XML Resource stuff.
    self.resources = _item()
    self.resources.CLBFrame = self.xrc.LoadFrame(None, 'CLBFrame')
    self.resources.CLBMenuBar = self.xrc.LoadMenuBar('CLBMenuBar')
    self.resources.CLBMenuFileQuit = self.xrc.GetXRCID('CLBMenuFileQuit')
    self.resources.CLBMenuOpsInfo = self.xrc.GetXRCID('CLBMenuOpsInfo')
    self.resources.CLBMenuOpsMembers = self.xrc.GetXRCID('CLBMenuOpsMembers')
    self.resources.CLBMenuHelpAbout = self.xrc.GetXRCID('CLBMenuHelpAbout')
    self.resources.CLBDirNav = self.resources.CLBFrame.FindWindowById(
      self.xrc.GetXRCID('CLBDirNav'))
    self.resources.CLBChangelists = self.resources.CLBFrame.FindWindowById(
      self.xrc.GetXRCID('CLBChangelists'))
    self.resources.CLBVertSplitter = self.resources.CLBFrame.FindWindowById(
      self.xrc.GetXRCID('CLBVertSplitter'))
    self.resources.CLBHorzSplitter = self.resources.CLBFrame.FindWindowById(
      self.xrc.GetXRCID('CLBHorzSplitter'))
    self.resources.CLBOutput = self.resources.CLBFrame.FindWindowById(
      self.xrc.GetXRCID('CLBOutput'))
    self.resources.CLBStatusBar = self.resources.CLBFrame.CreateStatusBar(2)
    
    # Glue some of our extra stuff onto the main frame.
    self.resources.CLBFrame.SetMenuBar(self.resources.CLBMenuBar)
    self.resources.CLBStatusBar.SetStatusWidths([-1, 100])
    
    # Event handlers.  They are the key to the world.
    wx.EVT_CLOSE(self.resources.CLBFrame, self._FrameClosure)
    wx.EVT_MENU(self, self.resources.CLBMenuFileQuit, self._FileQuitMenu)
    wx.EVT_MENU(self, self.resources.CLBMenuOpsInfo, self._OpsInfoMenu)
    wx.EVT_MENU(self, self.resources.CLBMenuOpsMembers, self._OpsMembersMenu)
    wx.EVT_MENU(self, self.resources.CLBMenuHelpAbout, self._HelpAboutMenu)
    wx.EVT_TREE_ITEM_ACTIVATED(self, self.resources.CLBDirNav.GetTreeCtrl().Id,
                               self._DirNavSelChanged)

    # Reset our working directory
    self._SetWorkingDirectory(self.wc_dir)
    
    # Resize and display our frame.
    self.resources.CLBFrame.SetSize(wx.Size(600, 400))
    self.resources.CLBFrame.Center()
    self.resources.CLBFrame.Show(True)

src/subversion/tools/examples/SvnCLBrowse  view on Meta::CPAN

  def _DirNavSelChanged(self, event):
    self._SetWorkingDirectory(self.resources.CLBDirNav.GetPath())

  def _GetSelectedChangelists(self):
    changelists = []
    items = self.resources.CLBChangelists.GetSelections()
    for item in items:
      changelists.append(str(self.resources.CLBChangelists.GetString(item)))
    return changelists

  def _OpsMembersMenu(self, event):
    self.resources.CLBOutput.Clear()
    changelists = self._GetSelectedChangelists()
    if not changelists:
      return

    def _info_receiver(path, info, pool):
      self.resources.CLBOutput.AppendText("   %s\n" % (path))

    for changelist in changelists:
      self.resources.CLBOutput.AppendText("Changelist: %s\n" % (changelist))
      revision = svn.core.svn_opt_revision_t()
      revision.type = svn.core.svn_opt_revision_working
      svn.client.info2(self.wc_dir, revision, revision,
                       _info_receiver, svn.core.svn_depth_infinity,
                       [changelist], self.svn_ctx)
      self.resources.CLBOutput.AppendText("\n")
  
  def _OpsInfoMenu(self, event):
    self.resources.CLBOutput.Clear()
    changelists = self._GetSelectedChangelists()
    if not changelists:
      return

    def _info_receiver(path, info, pool):
      output_info(path, info, self.resources.CLBOutput)
    
    revision = svn.core.svn_opt_revision_t()
    revision.type = svn.core.svn_opt_revision_working
    svn.client.info2(self.wc_dir, revision, revision,
                     _info_receiver, svn.core.svn_depth_infinity,
                     changelists, self.svn_ctx)
    
  def _FrameClosure(self, event):
    self._Destroy()

  def _FileQuitMenu(self, event):
    self._Destroy()
    
  def _HelpAboutMenu(self, event):
    wx.MessageBox("SvnCLBrowse"
                  " -- graphical Subversion changelist browser.\n\n",
                  "About SvnCLBrowse",
                  wx.OK | wx.CENTER,
                  self.resources.CLBFrame)

  def OnExit(self):
    pass


_XML_RESOURCE = """<?xml version="1.0" ?>
<resource>
  <object class="wxMenuBar" name="CLBMenuBar">
    <object class="wxMenu">
      <label>&amp;File</label>
      <object class="wxMenuItem" name="CLBMenuFileQuit">
        <label>&amp;Quit</label>
        <accel>CTRL+Q</accel>
        <help>Quit SvnCLBrowse.</help>
      </object>
    </object>
    <object class="wxMenu">
      <label>&amp;Subversion</label>
      <object class="wxMenuItem" name="CLBMenuOpsInfo">
        <label>&amp;Info</label>
        <help>Show information about members of the selected changelist(s).</help>
      </object>
      <object class="wxMenuItem" name="CLBMenuOpsMembers">
        <label>&amp;Members</label>
        <help>List the members of the selected changelist(s).</help>
      </object>
    </object>
    <object class="wxMenu">
      <label>&amp;Help</label>
      <object class="wxMenuItem" name="CLBMenuHelpAbout">
        <label>&amp;About...</label>
        <help>About SvnCLBrowse.</help>
      </object>
    </object>
  </object>
  <object class="wxFrame" name="CLBFrame">
    <title>SvnCLBrowse -- graphical Subversion changelist browser</title>
    <centered>1</centered>
    <style>wxDEFAULT_FRAME_STYLE|wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxTAB_TRAVERSAL</style>
    <object class="wxFlexGridSizer">



( run in 1.455 second using v1.01-cache-2.11-cpan-49f99fa48dc )