Modify screen window in WinForm for issue1519
This commit is contained in:
1 parent
e620329121
commit
62f502a4d2
3 files changed
+25
-2
No files matched your search
@@ -14,7 +14,7 @@ class Group(SignalEvent, list):
|
||||
parent_datetime_field=None):
|
||||
super(Group, self).__init__()
|
||||
self.lock_signal = False
|
||||
self.window = window
|
||||
self.__window = window
|
||||
self.parent = parent
|
||||
self.parent_name = parent_name
|
||||
self.parent_datetime_field = parent_datetime_field
|
||||
@@ -32,6 +32,16 @@ class Group(SignalEvent, list):
|
||||
self.readonly = True
|
||||
self.__id2record = {}
|
||||
|
||||
def __get_window(self):
|
||||
return self.__window
|
||||
|
||||
def __set_window(self, window):
|
||||
for record in self:
|
||||
record.window = window
|
||||
self.__window = window
|
||||
|
||||
window = property(__get_window, __set_window)
|
||||
|
||||
def insert(self, pos, record):
|
||||
if pos >= 1:
|
||||
self.__getitem__(pos - 1).next[id(self)] = record
|
||||
|
||||
@@ -48,7 +48,7 @@ class Screen(SignalEvent):
|
||||
self.view_ids = view_ids
|
||||
self.parent = None
|
||||
self.parent_name = None
|
||||
self.window = window
|
||||
self.__window = window
|
||||
self.__group = None
|
||||
self.group = Group(model_name, {}, self.window, context=self.context,
|
||||
readonly=readonly)
|
||||
@@ -217,6 +217,15 @@ class Screen(SignalEvent):
|
||||
|
||||
current_record = property(__get_current_record, __set_current_record)
|
||||
|
||||
def __get_window(self):
|
||||
return self.__window
|
||||
|
||||
def __set_window(self, window):
|
||||
self.group.window = window
|
||||
self.__window = window
|
||||
|
||||
window = property(__get_window, __set_window)
|
||||
|
||||
def update_attachment(self, record):
|
||||
if record != self.current_record:
|
||||
return False
|
||||
|
||||
@@ -188,6 +188,9 @@ class WinForm(object):
|
||||
|
||||
self.win.show()
|
||||
|
||||
self.prev_window = self.screen.window
|
||||
self.screen.window = self.win
|
||||
|
||||
self.screen.display()
|
||||
self.screen.current_view.set_cursor()
|
||||
|
||||
@@ -312,5 +315,6 @@ class WinForm(object):
|
||||
viewport.remove(viewport.get_child())
|
||||
self.screen.switch_view(view_type=self.prev_view.view_type)
|
||||
self.screen.signal_unconnect(self)
|
||||
self.screen.window = self.prev_window
|
||||
self.win.destroy()
|
||||
self.parent.present()
|
||||
Reference in new issue
Block a user