author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Fri, 27 Feb 2015 16:50:43 +0100 | |
changeset 37 | f417fe8685c5 |
child 44 | 41cc5a7840fe |
permissions | -rw-r--r-- |
37
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'jv:vdb' }" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
"{ NameSpace: Smalltalk }" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
VDBAbstractApplication subclass:#VDBAbstractListApplication |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
instanceVariableNames:'internalListHolder internalListView internalSelectionHolder' |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
classVariableNames:'' |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
poolDictionaries:'' |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
category:'VDB-UI-Abstract' |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
!VDBAbstractListApplication class methodsFor:'queries'! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
isAbstract |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
"Return if this class is an abstract class. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
True is returned here for myself only; false for subclasses. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
Abstract subclasses must redefine again." |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
^ self == VDBAbstractListApplication. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
! ! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
!VDBAbstractListApplication methodsFor:'aspects-private'! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
internalListHolder |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
"return/create the 'listHolder' value holder (automatically generated)" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
internalListHolder isNil ifTrue:[ |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
internalListHolder := ValueHolder new. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
]. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
^ internalListHolder |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
"Created: / 27-02-2015 / 15:55:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
internalSelectionHolder |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
"return/create the 'internalSelectionHolder' value holder (automatically generated)" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
internalSelectionHolder isNil ifTrue:[ |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
internalSelectionHolder := ValueHolder new. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
internalSelectionHolder addDependent:self. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
]. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
^ internalSelectionHolder |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
! ! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
!VDBAbstractListApplication methodsFor:'change & update'! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
enqueueDelayedUpdateInternalList |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
self window sensor pushUserEvent:#delayedUpdateInternalList for:self |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
"Created: / 20-09-2014 / 23:05:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
enqueueDelayedUpdateSelection |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
self window sensor pushUserEvent:#delayedUpdateSelection for:self |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
"Created: / 27-02-2015 / 15:35:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
update:aspect with:param from:sender |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
"Invoked when an object that I depend upon sends a change notification." |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
sender == internalSelectionHolder ifTrue:[ |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
self enqueueDelayedUpdateSelection. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
^ self |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
]. |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
super update:aspect with:param from:sender |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
"Created: / 27-02-2015 / 15:44:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
! ! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
!VDBAbstractListApplication methodsFor:'change & update-delayed'! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
delayedUpdateInternalList |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
"raise an error: must be redefined in concrete subclass(es)" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
^ self subclassResponsibility |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
delayedUpdateSelection |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
"raise an error: must be redefined in concrete subclass(es)" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
^ self subclassResponsibility |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
! ! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
!VDBAbstractListApplication methodsFor:'hooks'! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
commonPostOpen |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
"a common hook for postOpenWith:, postOpenAsSubcanvasWith: and postOpenAsDialogWith:." |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
self enqueueDelayedUpdateInternalList |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
"Created: / 18-09-2014 / 00:29:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
"Modified: / 20-09-2014 / 23:50:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
postBuildInternalListView: aView |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
internalListView := aView |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
|
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
"Modified: / 30-09-2014 / 00:00:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
! ! |
f417fe8685c5
Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |