724
723
show_search=self.show_search and vt in ('tree', 'graph','calendar'),
726
def groupby_next(self):
727
if not self.models.models:
728
self.current_model = self.models.list_group.lst[0]
729
elif self.current_view.store.on_iter_has_child(self.current_model):
730
path = self.current_view.store.on_get_path(self.current_model)
732
self.current_view.expand_row(path)
733
self.current_model = self.current_view.store.on_iter_children(self.current_model)
735
if self.current_model in self.current_model.list_group.lst:
736
idx = self.current_model.list_group.lst.index(self.current_model)
737
if idx + 1 >= len(self.current_model.list_group.lst):
740
parent = self.current_view.store.on_iter_parent(self.current_model)
742
self.current_model = parent
743
if self.current_view.store.on_iter_next(parent):
745
self.current_model = self.current_view.store.on_iter_next(self.current_model)
746
if self.current_model == None:
747
self.current_model = self.current_view.store.on_get_iter \
748
(self.current_view.store.on_get_path \
749
(self.current_view.store.get_iter_first()))
751
idx = (idx+1) % len(self.current_model.list_group.lst)
752
self.current_model = self.current_model.list_group.lst[idx]
753
if self.current_model:
754
path = self.current_view.store.on_get_path(self.current_model)
755
self.current_view.expand_row(path)
758
def groupby_prev(self):
759
if not self.models.models :
760
self.current_model = self.models.list_group.lst[-1]
762
if self.current_model in self.current_model.list_group.lst:
763
idx = self.current_model.list_group.lst.index(self.current_model) - 1
765
parent = self.current_view.store.on_iter_parent(self.current_model)
767
self.current_model = parent
769
idx = (idx) % len(self.current_model.list_group.lst)
770
self.current_model = self.current_model.list_group.lst[idx]
771
if self.current_model:
772
path = self.current_view.store.on_get_path(self.current_model)
773
self.current_view.collapse_row(path)
727
776
def display_next(self):
728
777
self.current_view.set_value()
729
if self.context.get('group_by',False):
730
if not self.models.models:
731
self.models.list_group.lst[0].children
732
elif isinstance(self.current_model, group_record):
733
path = self.current_view.store.on_get_path(self.current_model)
734
self.current_view.expand_row(path)
735
elif self.models.models.index(self.current_model) + 1 == len(self.models.models):
736
idx = self.models.list_parent.list_group.lst.index(self.current_model.list_parent)
737
idx = (idx+1) % len(self.models.list_parent.list_group.lst)
738
self.models.list_parent.list_group.lst[idx].children
739
if self.current_model in self.models.models:
740
idx = self.models.models.index(self.current_model)
741
idx = (idx+1) % len(self.models.models)
742
self.current_model = self.models.models[idx]
778
if self.context.get('group_by',False) and \
779
not self.current_view.view_type == 'form':
780
if self.current_model:
744
self.current_model = len(self.models.models) and self.models.models[0]
783
if self.current_model in self.models.models:
784
idx = self.models.models.index(self.current_model)
785
idx = (idx+1) % len(self.models.models)
786
self.current_model = self.models.models[idx]
788
self.current_model = len(self.models.models) and self.models.models[0]
745
789
self.check_state()
746
790
self.current_view.set_cursor()
748
792
def display_prev(self):
749
793
self.current_view.set_value()
750
if self.current_model in self.models.models:
751
idx = self.models.models.index(self.current_model)-1
753
idx = len(self.models.models)-1
754
self.current_model = self.models.models[idx]
794
if self.context.get('group_by',False) and \
795
not self.current_view.view_type == 'form':
796
if self.current_model:
756
self.current_model = len(self.models.models) and self.models.models[-1]
799
if self.current_model in self.models.models:
800
idx = self.models.models.index(self.current_model)-1
802
idx = len(self.models.models)-1
803
self.current_model = self.models.models[idx]
805
self.current_model = len(self.models.models) and self.models.models[-1]
757
806
self.check_state()
758
807
self.current_view.set_cursor()