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