예제 #1
0
    def initWithSettings(self, settings, options, db, initial_filter):
        message_loop.init_main_loop()
        self.init()
        OpenDialogBase.__init__(self, settings, options, db, initial_filter)

        size = NSMakeRect(0, 0, 800, 400)
        self.window = NSWindow.alloc(
        ).initWithContentRect_styleMask_backing_defer_(
            size, NSTitledWindowMask | NSClosableWindowMask
            | NSResizableWindowMask | NSMiniaturizableWindowMask,
            NSBackingStoreBuffered, False)
        self.window.setTitle_("TraceViewer")
        self.window.contentView().setAutoresizesSubviews_(True)

        ok_bn = NSButton.new()
        ok_bn.setTitle_("OK")
        ok_bn.setFrame_(NSMakeRect(100, 100, 200, 50))
        ok_bn.setBezelStyle_(NSRoundedBezelStyle)
        ok_bn.setTarget_(self)
        ok_bn.setAction_(self.__class__.on_ok)

        cancel_bn = NSButton.new()
        cancel_bn.setTitle_("CANCEL")
        cancel_bn.setFrame_(NSMakeRect(100, 100, 200, 50))
        cancel_bn.setBezelStyle_(NSRoundedBezelStyle)
        cancel_bn.setTarget_(self)
        cancel_bn.setAction_(self.__class__.on_cancel)

        self.window.contentView().addSubview_(ok_bn)

        self.window.makeKeyAndOrderFront_(self)
        self.window.center()

        return self
예제 #2
0
  def __init__(self, settings, options, db, initial_filter):
    OpenDialogBase.__init__(self, settings, options, db, initial_filter)
    message_loop_curses.on_terminal_readable.add_listener(self._on_readable)
    self._stdscr = message_loop_curses.get_stdscr()

    self._refresh_pending = False
    self._invalidate()

    self._status = ''
    self._update_border()

    self._update_filter_text()

    h,w = self._stdscr.getmaxyx()
    self._stdscr.hline(1, 0, '-', w)
    self._stdscr.hline(h - 3, 0, '-', w)
    
    self._selected_index = 0
    self._result_files = []
    self._result_ranks = []

    # The location of the "cursor" in the filter text "readline" area
    if self.should_position_cursor_for_replace:
      self._filter_text_point = 0
    else:
      self._filter_text_point = len(self._filter_text)

    curses.init_pair(1, 1, curses.COLOR_BLACK)
예제 #3
0
  def initWithSettings(self, settings, options, db, initial_filter):
    message_loop.init_main_loop()
    self.init()
    OpenDialogBase.__init__(self, settings, options, db, initial_filter)

    size = NSMakeRect(0,0,800,400)
    self.window = NSWindow.alloc().initWithContentRect_styleMask_backing_defer_(
      size,
      NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask | NSMiniaturizableWindowMask,
      NSBackingStoreBuffered,
      False)
    self.window.setTitle_("TraceViewer")
    self.window.contentView().setAutoresizesSubviews_(True)

    ok_bn = NSButton.new()
    ok_bn.setTitle_("OK")
    ok_bn.setFrame_(NSMakeRect(100,100,200,50))
    ok_bn.setBezelStyle_(NSRoundedBezelStyle)
    ok_bn.setTarget_(self)
    ok_bn.setAction_(self.__class__.on_ok)

    cancel_bn = NSButton.new()
    cancel_bn.setTitle_("CANCEL")
    cancel_bn.setFrame_(NSMakeRect(100,100,200,50))
    cancel_bn.setBezelStyle_(NSRoundedBezelStyle)
    cancel_bn.setTarget_(self)
    cancel_bn.setAction_(self.__class__.on_cancel)

    self.window.contentView().addSubview_(ok_bn)

    self.window.makeKeyAndOrderFront_(self)
    self.window.center()

    return self
예제 #4
0
    def __init__(self, settings, options, db, initial_filter):
        OpenDialogBase.__init__(self, settings, options, db, initial_filter)
        message_loop_curses.on_terminal_readable.add_listener(
            self._on_readable)
        self._stdscr = message_loop_curses.get_stdscr()

        self._refresh_pending = False
        self._invalidate()

        self._status = ''
        self._update_border()

        self._update_filter_text()

        h, w = self._stdscr.getmaxyx()
        self._stdscr.hline(1, 0, '-', w)
        self._stdscr.hline(h - 3, 0, '-', w)

        self._selected_index = 0
        self._result_files = []
        self._result_ranks = []

        # The location of the "cursor" in the filter text "readline" area
        if self.should_position_cursor_for_replace:
            self._filter_text_point = 0
        else:
            self._filter_text_point = len(self._filter_text)

        curses.init_pair(1, 1, curses.COLOR_BLACK)
예제 #5
0
  def __init__(self, options, db, initial_filter):
    wx.Dialog.__init__(self, None, wx.ID_ANY, "Quick open...", style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER, size=(1000,400))
    OpenDialogBase.__init__(self, options, db, initial_filter)

    if wx.Platform == "__WXMAC__":
      wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", False)

    sizer = wx.BoxSizer(wx.VERTICAL)

    top_box = wx.BoxSizer(wx.HORIZONTAL)

    self.status_text_widget = wx.StaticText(self, -1, '')

    top_box.Add((10,0))
    top_box.Add(self.status_text_widget,1, wx.EXPAND | wx.ALL | wx.ALIGN_CENTER_VERTICAL)
    reindex_bn = wx.Button(self, -1, "Reindex")
    reindex_bn.Bind(wx.EVT_BUTTON, lambda *args: self.on_reindex_clicked())
    top_box.Add(reindex_bn)

    middle_box = wx.BoxSizer(wx.HORIZONTAL)
    self._results_list = TestListCtrl(self, -1,
                                      style=wx.LC_REPORT | wx.BORDER_NONE)

    middle_box.Add(self._results_list, 1, wx.ALIGN_CENTRE|wx.ALL|wx.EXPAND)

    filter_box = wx.BoxSizer(wx.HORIZONTAL)
    self._filter_ctrl = wx.TextCtrl(self, -1, self._filter_text)
    if self.should_position_cursor_for_replace:
      self._filter_ctrl.SetInsertionPoint(0)
      self._filter_ctrl.SetSelection(-1, -1)
    else:
      self._filter_ctrl.SetInsertionPointEnd()

    self.Bind(wx.EVT_CHAR_HOOK, self.on_evt_char_hook)
    self.Bind(wx.EVT_TEXT, self.on_evt_text, self._filter_ctrl)
    self.Bind(wx.EVT_TEXT_ENTER, self.on_evt_text_enter, self._filter_ctrl)
    filter_box.Add(self._filter_ctrl, 1, wx.EXPAND)

    lower_sizer = self.CreateStdDialogButtonSizer(wx.OK|wx.CANCEL)

    sizer.Add(top_box, 0, wx.EXPAND|wx.BOTTOM, 8)
    sizer.Add(middle_box, 1, wx.GROW|wx.BOTTOM,8)
    sizer.Add(filter_box, 0, wx.GROW|wx.BOTTOM,7)
    sizer.Add(lower_sizer, 0, wx.ALIGN_RIGHT|wx.BOTTOM)

    outer_sizer = wx.BoxSizer(wx.VERTICAL)
    outer_sizer.Add(sizer, 1, wx.ALL | wx.EXPAND, 8)
    self.SetSizer(outer_sizer)

    self._filter_ctrl.SetFocus()


    self.CenterOnScreen()
    self.Show()

    ok = self.FindWindowById(wx.ID_OK)
    cancel = self.FindWindowById(wx.ID_CANCEL)
    ok.Bind(wx.EVT_BUTTON, self.on_ok)
    cancel.Bind(wx.EVT_BUTTON, self.on_cancel)
예제 #6
0
  def __init__(self, settings, options, db, initial_filter):
    wx.Dialog.__init__(self, None, wx.ID_ANY, "Quick open...", style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER, size=(1000,400))
    OpenDialogBase.__init__(self, settings, options, db, initial_filter)

    if wx.Platform == "__WXMAC__":
      wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", False)

    sizer = wx.BoxSizer(wx.VERTICAL)

    top_box = wx.BoxSizer(wx.HORIZONTAL)

    self.status_text = wx.StaticText(self, -1, '')

    top_box.Add((10,0))
    top_box.Add(self.status_text,1, wx.EXPAND | wx.ALL | wx.ALIGN_CENTER_VERTICAL)
    reindex_bn = wx.Button(self, -1, "Reindex")
    reindex_bn.Bind(wx.EVT_BUTTON, lambda *args: self.on_reindex_clicked())
    top_box.Add(reindex_bn)

    middle_box = wx.BoxSizer(wx.HORIZONTAL)
    self._results_list = TestListCtrl(self, -1,
                                      style=wx.LC_REPORT | wx.BORDER_NONE)

    middle_box.Add(self._results_list, 1, wx.ALIGN_CENTRE|wx.ALL|wx.EXPAND)

    filter_box = wx.BoxSizer(wx.HORIZONTAL)
    self._filter_ctrl = wx.TextCtrl(self, -1, self._filter_text)
    if self.should_position_cursor_for_replace:
      self._filter_ctrl.SetInsertionPoint(0)
      self._filter_ctrl.SetSelection(-1, -1)
    else:
      self._filter_ctrl.SetInsertionPointEnd()

    self.Bind(wx.EVT_CHAR_HOOK, self.on_evt_key_down)
    self.Bind(wx.EVT_TEXT, self.on_evt_text, self._filter_ctrl)
    self.Bind(wx.EVT_TEXT_ENTER, self.on_evt_text_enter, self._filter_ctrl)
    filter_box.Add(self._filter_ctrl, 1, wx.EXPAND)

    lower_sizer = self.CreateStdDialogButtonSizer(wx.OK|wx.CANCEL)

    sizer.Add(top_box, 0, wx.EXPAND|wx.BOTTOM, 8)
    sizer.Add(middle_box, 1, wx.GROW|wx.BOTTOM,8)
    sizer.Add(filter_box, 0, wx.GROW|wx.BOTTOM,7)
    sizer.Add(lower_sizer, 0, wx.ALIGN_RIGHT|wx.BOTTOM)

    outer_sizer = wx.BoxSizer(wx.VERTICAL)
    outer_sizer.Add(sizer, 1, wx.ALL | wx.EXPAND, 8)
    self.SetSizer(outer_sizer)

    self._filter_ctrl.SetFocus()


    self.CenterOnScreen()
    self.Show()

    ok = self.FindWindowById(wx.ID_OK)
    cancel = self.FindWindowById(wx.ID_CANCEL)
    ok.Bind(wx.EVT_BUTTON, self.on_ok)
    cancel.Bind(wx.EVT_BUTTON, self.on_cancel)
예제 #7
0
  def __init__(self, options, db, initial_filter):
    gtk.Dialog.__init__(self)
    OpenDialogBase.__init__(self, options, db, initial_filter)

    self.set_title("Quick open...")
    self.set_size_request(1000,400)
    self.add_button("_Open",gtk.RESPONSE_OK)
    self.add_button("Cancel",gtk.RESPONSE_CANCEL)

    model = gtk.ListStore(object)

    treeview = gtk.TreeView(model)
    treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
    treeview.get_selection().connect('changed', self._on_treeview_selection_changed)

    self.connect('response', self.response)

    text_cell_renderer = gtk.CellRendererText()

    def add_column(title,accessor_cb):
      column = gtk.TreeViewColumn(title, text_cell_renderer)
      column.set_cell_data_func(text_cell_renderer, lambda column, cell, model, iter: cell.set_property('text', accessor_cb(model.get(iter,0)[0])))
      treeview.append_column(column)
      return column
    add_column("Rank",lambda obj: obj[1])
    add_column("File",lambda obj: os.path.basename(obj[0]))
    add_column("Path",lambda obj: os.path.dirname(obj[0]))

    self.connect('destroy', self.on_destroy)

    truncated_bar = InfoBarGtk()
    reindex_button = gtk.Button("_Reindex")
    reindex_button.connect('clicked', lambda *args: self.on_reindex_clicked())

    status_label = gtk.Label()
    self.status_label = status_label

    filter_entry = gtk.Entry()
    filter_entry.set_text(self._filter_text)

    filter_entry.connect('key_press_event', self._on_filter_entry_keypress)
    filter_entry.connect('changed', self._on_filter_text_changed)

    # attach everything up
    vbox = self.vbox
    table_vbox = gtk.VBox()
    treeview_scroll_window = gtk.ScrolledWindow()
    treeview_scroll_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
    table_options_hbox = gtk.HBox()
    button_hbox = gtk.HBox()

    vbox.pack_start(table_vbox,True,True,1)
    table_vbox.pack_start(table_options_hbox,False,False,0)
    table_options_hbox.pack_start(status_label,False,False,10)
    table_options_hbox.pack_end(reindex_button,False,False,0)
    table_vbox.pack_start(treeview_scroll_window,True,True,0)
    table_vbox.pack_start(truncated_bar,False,True,0)
    table_vbox.pack_start(filter_entry,False,True,0)
    treeview_scroll_window.add(treeview)
    vbox.show_all()

    truncated_bar.hide()

    # remember things that need remembering
    self._treeview = treeview
    self._model = model
    self._truncated_bar = truncated_bar
    self._filter_entry = filter_entry

    filter_entry.grab_focus()
    if self.should_position_cursor_for_replace:
      filter_entry.set_position(0)
      filter_entry.select_region(0, len(self._filter_text))
    else:
      filter_entry.set_position(len(self._filter_text))

    self.show_all()
예제 #8
0
  def __init__(self, settings, options, db, initial_filter):
    gtk.Dialog.__init__(self)
    OpenDialogBase.__init__(self, settings, options, db, initial_filter)

    self.set_title("Quick open...")
    self.set_size_request(1000,400)
    self.add_button("_Open",gtk.RESPONSE_OK)
    self.add_button("Cancel",gtk.RESPONSE_CANCEL)

    model = gtk.ListStore(object)

    treeview = gtk.TreeView(model)
    treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
    treeview.get_selection().connect('changed', self._on_treeview_selection_changed)
    self.connect('response', self.response)

    text_cell_renderer = gtk.CellRendererText()

    def add_column(title,accessor_cb):
      column = gtk.TreeViewColumn(title, text_cell_renderer)
      column.set_cell_data_func(text_cell_renderer, lambda column, cell, model, iter: cell.set_property('text', accessor_cb(model.get(iter,0)[0])))
      treeview.append_column(column)
      return column
    add_column("Rank",lambda obj: obj[1])
    add_column("File",lambda obj: os.path.basename(obj[0]))
    add_column("Path",lambda obj: os.path.dirname(obj[0]))

    self.connect('destroy', self.on_destroy)

    truncated_bar = InfoBarGtk()
    reindex_button = gtk.Button("_Reindex")
    reindex_button.connect('clicked', lambda *args: self.on_reindex_clicked())

    status_label = gtk.Label()
    self.status_label = status_label

    filter_entry = gtk.Entry()
    filter_entry.set_text(self._filter_text)
    filter_entry.connect('key_press_event', self._on_filter_entry_keypress)
    filter_entry.connect('changed', self._on_filter_text_changed)

    # attach everything up
    vbox = self.vbox
    table_vbox = gtk.VBox()
    treeview_scroll_window = gtk.ScrolledWindow()
    treeview_scroll_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
    table_options_hbox = gtk.HBox()
    button_hbox = gtk.HBox()

    vbox.pack_start(table_vbox,True,True,1)
    table_vbox.pack_start(table_options_hbox,False,False,0)
    table_options_hbox.pack_start(status_label,False,False,10)
    table_options_hbox.pack_end(reindex_button,False,False,0)
    table_vbox.pack_start(treeview_scroll_window,True,True,0)
    table_vbox.pack_start(truncated_bar,False,True,0)
    table_vbox.pack_start(filter_entry,False,True,0)
    treeview_scroll_window.add(treeview)
    vbox.show_all()

    truncated_bar.hide()

    # remember things that need remembering
    self._treeview = treeview
    self._model = model
    self._truncated_bar = truncated_bar

    filter_entry.grab_focus()

    self.show_all()