View Javadoc

1   package com.tapina.robe.swi.wimp;
2   
3   import com.tapina.robe.swi.os.SpriteArea;
4   
5   import java.awt.*;
6   import java.util.ArrayList;
7   import java.util.Iterator;
8   
9   /***
10   * This class holds a RISC OS Wimp window block. A window block is the definition of a window, either created or not.
11   */
12  public class WindowBlock {
13      /*** Special constant for handleOfWindowAbove */
14      public static final int TOP = -1, BOTTOM = -2, ICONISED = -3;
15      /*** Window flags constant */
16      public static final int OLD_TITLE_BAR = 1, MOVEABLE = 2, OLD_VERTICAL_SCROLL_BAR = 4, OLD_HORIZONTAL_SCROLL_BAR = 8, 
17      NO_USER_REDRAW = 16, PANE = 32, UNBOUNDED_MOVE = 64, OLD_NO_CLOSE = 128, SCROLL_REQUEST_AUTO = 256,
18      SCROLL_REQUEST_NON_AUTO = 512, GCOL_COLOURS = 1024, BACKGROUND_WINDOW = 2048, TRAP_KEYPRESSES = 4096,
19      KEEP_ON_SCREEN = 8192, NO_RESIZE_RIGHT = 1<<14, NO_RESIZE_DOWN = 1<<15, OPEN = 1<<16, FULLY_VISIBLE = 1<<17,
20      FULL_SIZE = 1<<18, OPEN_WINDOW_REQUEST = 1<<19, HAS_INPUT_FOCUS = 1<<20, FORCE_TO_SCREEN = 1<<21, TOGGLE_METHOD = 1<<22,
21      FURNITURE_WINDOW = 1<<23, FOREGROUND_WINDOW = 1<<23, BACK_ICON = 1<<24, CLOSE_ICON = 1<<25, TITLE_BAR = 1<<26, 
22      TOGGLE_SIZE = 1<<27, VERTICAL_SCROLL_BAR = 1<<28, ADJUST_SIZE = 1<<29, HORIZONTAL_SCROLL_BAR = 1<<30, NEW_FORMAT = 1<<31;
23      /*** Special constant for titleForegroundColour */
24      public static final int NO_FRAME = 0xff;
25      /*** Special constant for workAreaBackgroundColour */
26      public static final int NO_WIMP_CLEAR = 0xff;
27      /*** Window extra flags constant */
28      public static final int USE_24_BIT_COLOUR = 1, NO_3D_BORDER = 4, FORCE_3D_BORDER = 8;
29  
30      private Rectangle visibleArea;
31      private Rectangle workArea;
32      private Point scrollOffset;
33      private int handleOfWindowAbove;
34      private int windowFlags;
35      private int windowExtraFlags;
36      private int titleForegroundColour;
37      private int titleBackgroundColour;
38      private int workAreaForegroundColour;
39      private int workAreaBackgroundColour;
40      private int scrollBarOuterColour;
41      private int scrollBarInnerColour;
42      private int activeTitleBackgroundColour;
43      private int titleBarIconFlags;
44      private int workAreaButtonFlags;
45      private SpriteArea spriteArea;
46      private Dimension minimumSize;
47      private String titleText;
48      private int titleIndirectAddress;
49      private java.util.List icons = new ArrayList();
50  
51      public String getTitleText() {
52          return titleText;
53      }
54  
55      public void setTitleText(String titleText) {
56          this.titleText = titleText;
57      }
58  
59      public int getTitleIndirectAddress() {
60          return titleIndirectAddress;
61      }
62  
63      public void setTitleIndirectAddress(int titleIndirectAddress) {
64          this.titleIndirectAddress = titleIndirectAddress;
65      }
66  
67      public Rectangle getVisibleArea() {
68          return visibleArea;
69      }
70  
71      public void setVisibleArea(Rectangle visibleArea) {
72          this.visibleArea = visibleArea;
73      }
74  
75      public Rectangle getWorkArea() {
76          return workArea;
77      }
78  
79      public void setWorkArea(Rectangle workArea) {
80          this.workArea = workArea;
81      }
82  
83      public Point getScrollOffset() {
84          return scrollOffset;
85      }
86  
87      public void setScrollOffset(Point scrollOffset) {
88          this.scrollOffset = scrollOffset;
89      }
90  
91      public int getHandleOfWindowAbove() {
92          return handleOfWindowAbove;
93      }
94  
95      public void setHandleOfWindowAbove(int handleOfWindowAbove) {
96          this.handleOfWindowAbove = handleOfWindowAbove;
97      }
98  
99      public int getWindowFlags() {
100         return windowFlags;
101     }
102 
103     public void setWindowFlags(int windowFlags) {
104         this.windowFlags = windowFlags;
105     }
106 
107     public int getWindowExtraFlags() {
108         return windowExtraFlags;
109     }
110 
111     public void setWindowExtraFlags(int windowExtraFlags) {
112         this.windowExtraFlags = windowExtraFlags;
113     }
114 
115     public int getTitleForegroundColour() {
116         return titleForegroundColour;
117     }
118 
119     public void setTitleForegroundColour(int titleForegroundColour) {
120         this.titleForegroundColour = titleForegroundColour;
121     }
122 
123     public int getTitleBackgroundColour() {
124         return titleBackgroundColour;
125     }
126 
127     public void setTitleBackgroundColour(int titleBackgroundColour) {
128         this.titleBackgroundColour = titleBackgroundColour;
129     }
130 
131     public int getWorkAreaForegroundColour() {
132         return workAreaForegroundColour;
133     }
134 
135     public void setWorkAreaForegroundColour(int workAreaForegroundColour) {
136         this.workAreaForegroundColour = workAreaForegroundColour;
137     }
138 
139     public int getWorkAreaBackgroundColour() {
140         return workAreaBackgroundColour;
141     }
142 
143     public void setWorkAreaBackgroundColour(int workAreaBackgroundColour) {
144         this.workAreaBackgroundColour = workAreaBackgroundColour;
145     }
146 
147     public int getScrollBarOuterColour() {
148         return scrollBarOuterColour;
149     }
150 
151     public void setScrollBarOuterColour(int scrollBarOuterColour) {
152         this.scrollBarOuterColour = scrollBarOuterColour;
153     }
154 
155     public int getScrollBarInnerColour() {
156         return scrollBarInnerColour;
157     }
158 
159     public void setScrollBarInnerColour(int scrollBarInnerColour) {
160         this.scrollBarInnerColour = scrollBarInnerColour;
161     }
162 
163     public int getActiveTitleBackgroundColour() {
164         return activeTitleBackgroundColour;
165     }
166 
167     public void setActiveTitleBackgroundColour(int activeTitleBackgroundColour) {
168         this.activeTitleBackgroundColour = activeTitleBackgroundColour;
169     }
170 
171     public int getTitleBarIconFlags() {
172         return titleBarIconFlags;
173     }
174 
175     public void setTitleBarIconFlags(int titleBarIconFlags) {
176         this.titleBarIconFlags = titleBarIconFlags;
177     }
178 
179     public int getWorkAreaButtonFlags() {
180         return workAreaButtonFlags;
181     }
182 
183     public void setWorkAreaButtonFlags(int workAreaButtonFlags) {
184         this.workAreaButtonFlags = workAreaButtonFlags;
185     }
186 
187     public SpriteArea getSpriteArea() {
188         return spriteArea;
189     }
190 
191     public void setSpriteArea(SpriteArea spriteArea) {
192         this.spriteArea = spriteArea;
193     }
194 
195     public Dimension getMinimumSize() {
196         return minimumSize;
197     }
198 
199     public void setMinimumSize(Dimension minimumSize) {
200         this.minimumSize = minimumSize;
201     }
202 
203     public void addIcon(Icon icon) {
204         this.icons.add(icon);
205     }
206 
207     public void removeIcon(int index) {
208         icons.remove(index);
209     }
210 
211     public Icon getIcon(int index) {
212         return (Icon) icons.get(index);
213     }
214 
215     public int getNumberOfIcons() {
216         return icons.size();
217     }
218 
219     public Iterator icons() {
220         return icons.iterator();
221     }
222 }