def __init__(self, answers, checkbutton = None, box = None):
     """
     \param answers - list like in \ref select_control.select_control.update_answers
     \param checkbutton - gtk.ToggleButton instance, control show state of box
     \param box - gtk.Container instance with all widgets packed in to hide or show
     """
     if checkbutton != None and box != None:
         self.hiders = [hide_control(checkbutton, box)]
     select_control.__init__(self, answers, checkbutton)
Esempio n. 2
0
    def __init__(self, parent):
        assert(isinstance(parent, gtk_view.gtk_view))
        self._parent = parent
        self.builder = make_builder('glade/deal_editor.glade')
        def shorter(name):
            return self.builder.get_object(name)
        w = self.builder.get_object("deal_editor")
        w.add_buttons(gtk.STOCK_SAVE, gtk.RESPONSE_ACCEPT, gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
        
        ##########
        # hiders #
        ##########
        self.hiders = []
        for (hcb, box) in [("deal_editor_change_datetime", "deal_editor_datetime_box"),
                           ("deal_editor_change_direction", "deal_editor_direction_box"),
                           ("deal_editor_change_account", "deal_adder_account1"),
                           ("deal_editor_change_instrument", "deal_editor_instrument"),
                           ("deal_editor_change_price", "deal_adder_price1"),
                           ("deal_editor_change_count", "deal_adder_count1"),
                           ("deal_editor_change_commission", "deal_editor_commission")]:
            cb = self.builder.get_object(hcb)
            bb = self.builder.get_object(box)
            self.hiders.append(hide_control(cb, [bb]))
            pass

        ####################
        # datetime control #
        ####################
        self.datetime = datetime_control(shorter("deal_adder_calendar1"),
                                         time_control(shorter("deal_adder_hour1"),
                                                      shorter("deal_adder_min1"),
                                                      shorter("deal_adder_sec1")),
                                         checkbutton = shorter("deal_editor_change_datetime"),
                                         year = shorter("deal_editor_year"),
                                         month = shorter("deal_editor_month"),
                                         day = shorter("deal_editor_day"))

        self.instrument = combo_select_control(shorter("deal_editor_instrument"),
                                               checkbutton = shorter("deal_editor_change_instrument"))

        self.price = number_control(shorter("deal_adder_price1"), shorter("deal_editor_change_price"), step_incr = 0.1, digits = 4)
        self.count = number_control(shorter("deal_adder_count1"), shorter("deal_editor_change_count"))
        self.commission = number_control(shorter("deal_editor_commission"), shorter("deal_editor_change_commission"), step_incr = 0.1, digits = 4)
        for name in ["deal_adder_price1", "deal_adder_count1", "deal_editor_commission"]:
            m = shorter(name)
            m.get_adjustment().set_all(lower = 0, upper = sys.float_info.max)
        self.account = combo_select_control(shorter("deal_adder_account1"),
                                            checkbutton = shorter("deal_editor_change_account"))
        self.direction = select_control({-1 : shorter("deal_adder_buy_rb1"),
                                         1 : shorter("deal_adder_sell_rb1")}, shorter("deal_editor_change_direction"))
 def __init__(self, lower, upper, box = [], checkbutton = None):
     """
     \param lower - hash table to construct controls over lower datetime widgets with keys:\n
     \c chbt - gtk.ToggleButton instance to pass into \ref datetime_control.datetime_control state of this widet will control appearance of the box\n
     \c box - gtk.Container instance to hide or show when chbt changed\n
     \c year - gtk.SpinButton instance to display year, pass to \ref datetime_control.datetime_control\n
     \c month - gtk.SpinButton instance to display month\n
     \c day - gtk.SpinButton instance\n
     \c calendar - gtk.Calendar instance to display date, passed into \ref datetime_control.datetime_control\n
     \c hour - gtk.SpinButton instance to display hour passed to \ref time_control.time_control\n
     \c min - gtk.SpinButton\n
     \c sec - gtk.SpinButton\n
     \c time_chbt - gtk.ToggleButton instance - checkbutton to control the show state of time_box\n
     \c time_box - gtk.Container instance, box with time controls - all that controled by \ref time_control.time_control
     \param upper hash table with same keys
     \param box - list of gtk.Container instances, boxes controled by checkbutton parameter state
     \param checkbutton - gtk.ToggleButton, when inactive widgets from box list will be hided
     """
     self.hiders = []
     for (bt, boxes) in [(checkbutton, box)] + reduce(lambda a, b: a + b, map(lambda h: [(gethash(h, "time_chbt"), [gethash(h, "time_box")]),
                                                                                         (gethash(h, "chbt"), [gethash(h, "box")])],
                                                                              [lower, upper])):
         rbox = filter(lambda a: a != None, boxes)
         if bt != None and len(rbox) > 0:
             self.hiders.append(hide_control(bt, rbox))
     subhide = filter(lambda a: a != None, map(lambda b: gethash(b, "chbt"), [lower, upper]))
     if len(subhide) > 0 and checkbutton != None:
         self.subhide = all_checked_control(checkbutton, subhide)
     times = map(lambda h: time_control( *map(lambda k: gethash(h, k), ["hour", "min", "sec", "time_chbt"])),
                 [lower, upper])
     dtimes = map(lambda cal, time, chbt, year, month, day: datetime_control(cal, time, chbt, year, month, day),
                  map(lambda a: gethash(a, "calendar"), [lower, upper]),
                  times,
                  map(lambda a: gethash(a, "chbt"), [lower, upper]),
                  map(lambda a: gethash(a, "year"), [lower, upper]),
                  map(lambda a: gethash(a, "month"), [lower, upper]),
                  map(lambda a: gethash(a, "day"), [lower, upper]))
                  
     datetime_range_control.__init__(self, *(dtimes + [checkbutton]))
 def __init__(self, lower_spin, upper_spin, global_box = None, global_chbt = None, lower_chbt = None, upper_chbt = None, step_incr = 1, digits = 0):
     """
     \param lower_spin - gtk.SpinButton instance to display lower limit of range
     \param upper_spin - gtk.SpinButton instance to display upper limit of range
     \param global_box - gtk.Container with all widgets packed in to show or hide all the range-widget
     \param global_chbt - gtk.ToggleButton to control global_box show state
     \param lower_chbt - gtk.Container to control show state of lower range widget
     \param upper_chbt - gtk.Container to control show state of upper range widget
     \param step_incr - number, pass to \ref number_range_control.number_range_control
     \param digits - int, the same
     """
     self.hiders = []
     for (bt, box) in [(global_chbt, global_box),
                       (lower_chbt, lower_spin),
                       (upper_chbt, upper_spin)]:
         if bt != None and box != None:
             self.hiders.append(hide_control(bt, [box]))
     subhide = filter(lambda a: a != None, [lower_chbt, upper_chbt])
     if len(subhide) > 0 and global_chbt != None:
         self.subhiders = all_checked_control(global_chbt, subhide)
     lower = number_control(lower_spin, lower_chbt, step_incr, digits)
     upper = number_control(upper_spin, upper_chbt, step_incr, digits)
     number_range_control.__init__(self, lower, upper, global_chbt)
    def __init__(self, parent):
        self.builder = make_builder('glade/deals_filter.glade')
        self._parent = parent
        w = self.builder.get_object("deals_filter")
        w.set_transient_for(self._parent.window.builder.get_object('main_window'))
        w.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_ACCEPT)
        ######################
        # hide controls init #
        ######################
        self.hcontrols = []
        for (cb, boxes) in [("deals_filter_datetime_range_cb", ["deals_filter_datetime_range_box"]),
                            ("deals_filter_datetime_lower_cb", ["deals_filter_calendar_lower", "deals_filter_lower_time_box",
                                                                "deals_filter_lower_year", "deals_filter_lower_month", "deals_filter_lower_day"]),
                            ("deals_filter_datetime_upper_cb", ["deals_filter_calendar_upper", "deals_filter_upper_time_box",
                                                                "deals_filter_upper_year", "deals_filter_upper_month", "deals_filter_upper_day"]),
                            ("deals_filter_time_lower_cb", ["deals_filter_time_lower_box"]),
                            ("deals_filter_time_upper_cb", ["deals_filter_time_upper_box"]),
                            ("deals_filter_position_cb", ["deals_filter_position_box"]),
                            ("deals_filter_direction_cb", ["deals_filter_direction_box"]),
                            ("deals_filter_count_cb", ["deals_filter_count_box"]),
                            ("deals_filter_price_cb", ["deals_filter_price_box"]),
                            # ("deals_filter_broker_comm_cb", ["deals_filter_broker_comm_box"]),
                            # ("deals_filter_stock_comm_cb", ["deals_filter_stock_comm_box"]),
                            ("deals_filter_comm_cb", ["deals_filter_comm_box"]),
                            ("deals_filter_volume_cb", ["deals_filter_volume_box"]),
                            ("deals_filter_count_lower_cb", ["deals_filter_count_lower_spin"]),
                            ("deals_filter_count_upper_cb", ["deals_filter_count_upper_spin"]),
                            ("deals_filter_price_lower_cb", ["deals_filter_price_lower_spin"]),
                            ("deals_filter_price_upper_cb", ["deals_filter_price_upper_spin"]),
                            # ("deals_filter_broker_comm_lower_cb", ["deals_filter_broker_comm_lower_spin"]),
                            # ("deals_filter_broker_comm_upper_cb", ["deals_filter_broker_comm_upper_spin"]),
                            # ("deals_filter_stock_comm_lower_cb", ["deals_filter_stock_comm_lower_spin"]),
                            # ("deals_filter_stock_comm_upper_cb", ["deals_filter_stock_comm_upper_spin"]),
                            ("deals_filter_comm_lower_cb", ["deals_filter_comm_lower_spin"]),
                            ("deals_filter_comm_upper_cb", ["deals_filter_comm_upper_spin"]),
                            ("deals_filter_volume_lower_cb", ["deals_filter_volume_lower_spin"]),
                            ("deals_filter_volume_upper_cb", ["deals_filter_volume_upper_spin"]),
                            ("deals_filter_account_select", ["deals_filter_account_box"])]:
            self.hcontrols.append(hide_control(self.builder.get_object(cb), map(lambda a: self.builder.get_object(a), boxes)))

        ##########################
        # checkbuttons subhiders #
        ##########################
        self.subhcontrols = []
        for (cb, subcbs) in [("deals_filter_datetime_range_cb", ["deals_filter_datetime_lower_cb", "deals_filter_datetime_upper_cb"]),
                             ("deals_filter_count_cb", ["deals_filter_count_lower_cb", "deals_filter_count_upper_cb"]),
                             ("deals_filter_price_cb", ["deals_filter_price_lower_cb", "deals_filter_price_upper_cb"]),
                             # ("deals_filter_broker_comm_cb", ["deals_filter_broker_comm_lower_cb", "deals_filter_broker_comm_upper_cb"]),
                             # ("deals_filter_stock_comm_cb", ["deals_filter_stock_comm_lower_cb", "deals_filter_stock_comm_upper_cb"]),
                             ("deals_filter_comm_cb", ["deals_filter_comm_lower_cb", "deals_filter_comm_upper_cb"]),
                             ("deals_filter_volume_cb", ["deals_filter_volume_lower_cb", "deals_filter_volume_upper_cb"])]:
            self.subhcontrols.append(all_checked_control(self.builder.get_object(cb), map(lambda a: self.builder.get_object(a), subcbs)))

        ####################
        # datetime control #
        ####################
        dtcontrols = []
        for (dtcb, dtcal, tcb, h, m, s, year, month, day) in [("deals_filter_datetime_lower_cb", "deals_filter_calendar_lower",
                                                               "deals_filter_time_lower_cb", "deals_filter_hour_lower_spin",
                                                               "deals_filter_min_lower_spin", "deals_filter_sec_lower_spin",
                                                               "deals_filter_lower_year", "deals_filter_lower_month", "deals_filter_lower_day"),
                                                              ("deals_filter_datetime_upper_cb", "deals_filter_calendar_upper",
                                                               "deals_filter_time_upper_cb", "deals_filter_hour_upper_spin",
                                                               "deals_filter_min_upper_spin", "deals_filter_sec_upper_spin",
                                                               "deals_filter_upper_year", "deals_filter_upper_month", "deals_filter_upper_day")]:
            tcon = time_control(self.builder.get_object(h), self.builder.get_object(m), self.builder.get_object(s), self.builder.get_object(tcb))
            dtcon = datetime_control(self.builder.get_object(dtcal), tcon, checkbutton = self.builder.get_object(dtcb),
                                     year = self.builder.get_object(year), month = self.builder.get_object(month),
                                     day = self.builder.get_object(day))
            dtcon.set_current_datetime()
            dtcontrols.append(dtcon)
        self.datetime_range = datetime_range_control(dtcontrols[0], dtcontrols[1], self.builder.get_object("deals_filter_datetime_range_cb"))

        #############################
        # check instruments control #
        #############################
        dfv = self.builder.get_object("deals_filter_view")
        rev = self.builder.get_object("deals_filter_revers_bt")
        sel = self.builder.get_object("deals_filter_select_bt")
        desel = self.builder.get_object("deals_filter_deselect_bt")
        self.instruments = check_control(dfv, u'', [['id', int], (u'Инструмент', gtk.CellRendererText())], reverse_button = rev, select_button = sel, deselect_button = desel)

        ##########################
        # check accounts control #
        ##########################
        acv = self.builder.get_object("deals_filter_account_view")
        acr = self.builder.get_object("deals_filter_account_reverse")
        acset = self.builder.get_object("deals_filter_account_set")
        acunset = self.builder.get_object("deals_filter_account_unset")
        self.accounts = check_control(acv, u'', [['id', int], (u'Счет', gtk.CellRendererText())], reverse_button = acr, select_button = acset, deselect_button = acunset)
            

        ###################
        # select controls #
        ###################
        self.position = select_control({False : self.builder.get_object("deals_filter_position_free_rb"),
                                        True : self.builder.get_object("deals_filter_position_occpied_rb")},
                                       self.builder.get_object("deals_filter_position_cb"))
        self.direction = select_control({-1 : self.builder.get_object("deals_filter_direction_long_rb"),
                                         1 : self.builder.get_object("deals_filter_direction_short_rb")},
                                        self.builder.get_object("deals_filter_direction_cb"))
        self.account_current = select_control({"current" : self.builder.get_object("deals_filter_account_current"),
                                               "select" : self.builder.get_object("deals_filter_account_select"),
                                               "all" : self.builder.get_object("deals_filter_acount_all")})
        
        ##################
        # number ranges  #
        ##################
        self.count = number_range_control(number_control(self.builder.get_object("deals_filter_count_lower_spin"),
                                                         self.builder.get_object("deals_filter_count_lower_cb")),
                                          number_control(self.builder.get_object("deals_filter_count_upper_spin"),
                                                         self.builder.get_object("deals_filter_count_upper_cb")),
                                          self.builder.get_object("deals_filter_count_cb"))
        self.price = number_range_control(number_control(self.builder.get_object("deals_filter_price_lower_spin"),
                                                         self.builder.get_object("deals_filter_price_lower_cb"), step_incr = 0.01, digits = 4),
                                          number_control(self.builder.get_object("deals_filter_price_upper_spin"),
                                                         self.builder.get_object("deals_filter_price_upper_cb"), step_incr = 0.01, digits = 4),
                                          self.builder.get_object("deals_filter_price_cb"))
        self.comm = number_range_control(number_control(self.builder.get_object("deals_filter_comm_lower_spin"),
                                                        self.builder.get_object("deals_filter_comm_lower_cb"), step_incr = 0.01, digits = 4),
                                         number_control(self.builder.get_object("deals_filter_comm_upper_spin"),
                                                        self.builder.get_object("deals_filter_comm_upper_cb"), step_incr = 0.01, digits = 4),
                                         self.builder.get_object("deals_filter_comm_cb"))
        self.volume = number_range_control(number_control(self.builder.get_object("deals_filter_volume_lower_spin"),
                                                          self.builder.get_object("deals_filter_volume_lower_cb"), digits = 4),
                                           number_control(self.builder.get_object("deals_filter_volume_upper_spin"),
                                                          self.builder.get_object("deals_filter_volume_upper_cb"),  digits = 4),
                                           self.builder.get_object("deals_filter_volume_cb"))
        
        self.time = hiding_time_distance_range_control({"chbt" : self.builder.get_object("deals_filter_use_time_lower"),
                                                        "box" : self.builder.get_object("deals_filter_use_time_lower_box"),
                                                        "hour" : self.builder.get_object("deals_filter_use_time_lower_hour"),
                                                        "min" : self.builder.get_object("deals_filter_use_time_lower_min"),
                                                        "sec" : self.builder.get_object("deals_filter_use_time_lower_sec")},
                                                       {"chbt" : self.builder.get_object("deals_filter_use_time_upper"),
                                                        "box" : self.builder.get_object("deals_filter_use_time_upper_box"),
                                                        "hour" : self.builder.get_object("deals_filter_use_time_upper_hour"),
                                                        "min" : self.builder.get_object("deals_filter_use_time_upper_min"),
                                                        "sec" : self.builder.get_object("deals_filter_use_time_upper_sec")},
                                                       [self.builder.get_object("deals_filter_use_time_box")],
                                                       self.builder.get_object("deals_filter_use_time"))
    def __init__(self, parent):
        self._parent = parent
        self.builder = make_builder('glade/positions_filter.glade')
        w = self.builder.get_object("positions_filter")
        w.set_transient_for(self._parent.window.builder.get_object('main_window'))
        w.add_buttons(gtk.STOCK_CLOSE, gtk.RESPONSE_CANCEL)
        def shorter(name):
            return self.builder.get_object(name)

        self.open_datetime = hiding_datetime_range_control({"chbt" : shorter("pfilter_open_datetime_lower"),
                                                            "box" : shorter("pfilter_open_datetime_lower_box"),
                                                            "year" : shorter("pfilter_open_lower_year"),
                                                            "month" : shorter("pfilter_open_lower_month"),
                                                            "day" : shorter("pfilter_open_lower_day"),
                                                            "calendar" : shorter("pfilter_open_datetime_lower_calendar"),
                                                            "hour" : shorter("pfilter_open_datetime_lower_hour"),
                                                            "min" : shorter("pfilter_open_datetime_lower_min"),
                                                            "sec" : shorter("pfilter_open_datetime_lower_sec"),
                                                            "time_chbt" : shorter("pfilter_open_datetime_lower_time"),
                                                            "time_box" : shorter("pfilter_open_datetime_lower_time_box")},
                                                           {"chbt" : shorter("pfilter_open_datetime_upper"),
                                                            "box" : shorter("pfilter_open_datetime_upper_box"),
                                                            "year" : shorter("pfilter_open_upper_year"),
                                                            "month" : shorter("pfilter_open_upper_month"),
                                                            "day" : shorter("pfilter_open_upper_day"),
                                                            "calendar" : shorter("pfilter_open_datetime_upper_calendar"),
                                                            "hour" : shorter("pfilter_open_datetime_upper_hour"),
                                                            "min" : shorter("pfilter_open_datetime_upper_min"),
                                                            "sec" : shorter("pfilter_open_datetime_upper_sec"),
                                                            "time_chbt" : shorter("pfilter_open_datetime_upper_time"),
                                                            "time_box" : shorter("pfilter_open_datetime_upper_time_box")},
                                                           [shorter("pfilter_open_datetime_lower_superbox"),
                                                            shorter("pfilter_open_datetime_upper_superbox")],
                                                           shorter("pfilter_open_datetime"))
        
        self.close_datetime = hiding_datetime_range_control({"chbt" : shorter("pfilter_close_datetime_lower"),
                                                             "box" : shorter("pfilter_close_datetime_lower_box"),
                                                             "calendar" : shorter("pfilter_close_datetime_lower_calendar"),
                                                             "year" : shorter("pfilter_close_lower_year"),
                                                             "month" : shorter("pfilter_close_lower_month"),
                                                             "day" : shorter("pfilter_close_lower_day"),
                                                             "hour" : shorter("pfilter_close_datetime_lower_hour"),
                                                             "min" : shorter("pfilter_close_datetime_lower_min"),
                                                             "sec" : shorter("pfilter_close_datetime_lower_sec"),
                                                             "time_chbt" : shorter("pfilter_close_datetime_lower_time"),
                                                             "time_box" : shorter("pfilter_close_datetime_lower_time_box")},
                                                            {"chbt" : shorter("pfilter_close_datetime_upper"),
                                                             "box" : shorter("pfilter_close_datetime_upper_box"),
                                                             "calendar" : shorter("pfilter_close_datetime_upper_calendar"),
                                                             "year" : shorter("pfilter_close_upper_year"),
                                                             "month" : shorter("pfilter_close_upper_month"),
                                                             "day" : shorter("pfilter_close_upper_day"),
                                                             "hour" : shorter("pfilter_close_datetime_upper_hour"),
                                                             "min" : shorter("pfilter_close_datetime_upper_min"),
                                                             "sec" : shorter("pfilter_close_datetime_upper_sec"),
                                                             "time_chbt" : shorter("pfilter_close_datetime_upper_time"),
                                                             "time_box" : shorter("pfilter_close_datetime_upper_time_box")},
                                                            [shorter("pfilter_close_datetime_lower_superbox"),
                                                             shorter("pfilter_close_datetime_upper_superbox")],
                                                            shorter("pfilter_close_datetime"))
                                                           

        self.direction = hiding_select_control({-1 : shorter("pfilter_direction_long"),
                                                1 : shorter("pfilter_direction_short")},
                                               shorter("pfilter_direction"),
                                               shorter("pfilter_direction_box"))
        self.count = hiding_number_range_control(shorter("pfilter_count_lower_spin"),
                                                 shorter("pfilter_count_upper_spin"),
                                                 shorter("pfilter_count_box"),
                                                 shorter("pfilter_count"),
                                                 shorter("pfilter_count_lower"),
                                                 shorter("pfilter_count_upper"))
        self.price = hiding_number_range_control(shorter("pfilter_coast_lower_spin"),
                                                 shorter("pfilter_coast_upper_spin"),
                                                 shorter("pfilter_coast_box"),
                                                 shorter("pfilter_coast"),
                                                 shorter("pfilter_coast_lower"),
                                                 shorter("pfilter_coast_upper"),
                                                 step_incr = 0.1, digits = 4)
        self.volume = hiding_number_range_control(shorter("pfilter_volume_lower_spin"),
                                                  shorter("pfilter_volume_upper_spin"),
                                                  shorter("pfilter_volume_box"),
                                                  shorter("pfilter_volume"),
                                                  shorter("pfilter_volume_lower"),
                                                  shorter("pfilter_volume_upper"),
                                                  digits = 4)
        self.plnet_acc = hiding_number_range_control(shorter("pfilter_plnet_acc_lower_spin"),
                                                     shorter("pfilter_plnet_acc_upper_spin"),
                                                     shorter("pfilter_plnet_acc_box"),
                                                     shorter("pfilter_plnet_acc"),
                                                     shorter("pfilter_plnet_acc_lower"),
                                                     shorter("pfilter_plnet_acc_upper"),
                                                     step_incr = 0.1, digits = 4)
        self.plnet_volume = hiding_number_range_control(shorter("pfilter_plnet_volume_lower_spin"),
                                                        shorter("pfilter_plnet_volume_upper_spin"),
                                                        shorter("pfilter_plnet_volume_box"),
                                                        shorter("pfilter_plnet_volume"),
                                                        shorter("pfilter_plnet_volume_lower"),
                                                        shorter("pfilter_plnet_volume_upper"),
                                                        step_incr = 0.1, digits = 4)
        self.comm_plgross = hiding_number_range_control(shorter("pfilter_comm_plgross_lower_spin"),
                                                        shorter("pfilter_comm_plgross_upper_spin"),
                                                        shorter("pfilter_comm_plgross_box"),
                                                        shorter("pfilter_comm_plgross"),
                                                        shorter("pfilter_comm_plgross_lower"),
                                                        shorter("pfilter_comm_plgross_upper"),
                                                        step_incr = 0.1, digits = 4)
        self.price_range = hiding_number_range_control(shorter("pfilter_price_range_lower_spin"),
                                                       shorter("pfilter_price_range_upper_spin"),
                                                       shorter("pfilter_price_range_box"),
                                                       shorter("pfilter_price_range"),
                                                       shorter("pfilter_price_range_lower"),
                                                       shorter("pfilter_price_range_upper"),
                                                       step_incr = 0.1, digits = 4)
        self.plgross = hiding_number_range_control(shorter("pfilter_plgross_lower_spin"),
                                                   shorter("pfilter_plgross_upper_spin"),
                                                   shorter("pfilter_plgross_box"),
                                                   shorter("pfilter_plgross"),
                                                   shorter("pfilter_plgross_lower"),
                                                   shorter("pfilter_plgross_upper"),
                                                   step_incr = 0.1, digits = 4)
        self.plnet = hiding_number_range_control(shorter("pfilter_plnet_lower_spin"),
                                                 shorter("pfilter_plnet_upper_spin"),
                                                 shorter("pfilter_plnet_box"),
                                                 shorter("pfilter_plnet"),
                                                 shorter("pfilter_plnet_lower"),
                                                 shorter("pfilter_plnet_upper"),
                                                 step_incr = 0.1, digits = 4)
        self.comm = hiding_number_range_control(shorter("pfilter_comm_lower_spin"),
                                                shorter("pfilter_comm_upper_spin"),
                                                shorter("pfilter_comm_box"),
                                                shorter("pfilter_comm"),
                                                shorter("pfilter_comm_lower"),
                                                shorter("pfilter_comm_upper"),
                                                step_incr = 0.1, digits = 4)
        self.loss_profit = hiding_select_control({1 : shorter("pfilter_profit_prof"),
                                                  -1 : shorter("pfilter_profit_loss")},
                                                 shorter("pfilter_profit"),
                                                 shorter("pfilter_profit_box"))
        
        
        

        

        self.time_distance = hiding_time_distance_range_control({"chbt" : shorter("pfilter_timerange_lower"),
                                                                 "box" : shorter("pfilter_timerange_lower_box"),
                                                                 "day" : shorter("pfilter_timerange_lower_day"),
                                                                 "hour" : shorter("pfilter_timerange_lower_hour"),
                                                                 "min" : shorter("pfilter_timerange_lower_min")},
                                                                {"chbt" : shorter("pfilter_timerange_upper"),
                                                                 "box" : shorter("pfilter_timerange_upper_box"),
                                                                 "day" : shorter("pfilter_timerange_upper_day"),
                                                                 "hour" : shorter("pfilter_timerange_upper_hour"),
                                                                 "min" : shorter("pfilter_timerange_upper_min")},
                                                                [shorter("pfilter_timerange_lower_superbox"), shorter("pfilter_timerange_upper_superbox")],
                                                                shorter("pfilter_timerange"))
        self.account_current = select_control({"current" : shorter("pfilter_account_current"),
                                               "all" : shorter("pfilter_account_all"),
                                               "select" : shorter("pfilter_account_select")})
        self.check_accounts = check_control(shorter("pfilter_accounts_view"), "", [['id', int], (u'Счет', gtk.CellRendererText())],
                                            reverse_button = shorter("pfilter_account_reverse"),
                                            select_button = shorter("pfilter_account_set"),
                                            deselect_button = shorter("pfilter_account_unset"))
        self.hiders = []
        self.hiders.append(hide_control(shorter("pfilter_account_select"),
                                        [shorter("pfilter_accounts_box")]))
        self.check_instruments = check_control(shorter("pfilter_instruments"), "", [['id', int], (u'Инструмент', gtk.CellRendererText())],
                                               reverse_button = shorter("pfilter_instrument_reverse"),
                                               select_button = shorter("pfilter_instrument_set"),
                                               deselect_button = shorter("pfilter_instrument_unset"))