Example #1
0
    def __init__(self, options, db, initial_filter):
        OpenDialogBase.__init__(self, options, db, initial_filter)
        message_loop_curses.on_terminal_readable.add_listener(
            self._on_readable)
        self._stdscr = message_loop_curses.get_stdscr()

        self._help_visible = False
        self._refresh_pending = False
        self._invalidate()

        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)
Example #2
0
  def __init__(self, options, db, initial_filter):
    OpenDialogBase.__init__(self, options, db, initial_filter)
    message_loop_curses.on_terminal_readable.add_listener(self._on_readable)
    self._stdscr = message_loop_curses.get_stdscr()

    self._help_visible = False
    self._refresh_pending = False
    self._invalidate()

    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)
  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
  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)

    badresult_bn = wx.Button(self, -1, "Bad result")
    badresult_bn.Bind(wx.EVT_BUTTON, lambda *args: self.on_badresult_clicked())
    top_box.Add(badresult_bn)

    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.CenterOnScreen()
    self.Show()

    self._filter_ctrl.SetFocus()

    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)
Example #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)

        badresult_bn = wx.Button(self, -1, "Bad result")
        badresult_bn.Bind(wx.EVT_BUTTON,
                          lambda *args: self.on_badresult_clicked())
        top_box.Add(badresult_bn)

        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.CenterOnScreen()
        self.Show()

        self._filter_ctrl.SetFocus()

        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)
Example #6
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()

    bad_result_button = gtk.Button("Bad result")
    bad_result_button.connect('clicked', lambda *args: self.on_badresult_clicked())

    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(bad_result_button,False,False,0)
    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()