001 package jmaster.jumploader.model.api.config;
002
003 import java.util.MissingResourceException;
004
005 import jmaster.jumploader.model.api.IModel;
006 import jmaster.jumploader.model.api.config.ViewConfig;
007 import jmaster.util.property.Property;
008 import jmaster.util.property.PropertyFactory;
009 import jmaster.util.property.PropertyHelper;
010
011
012 /**
013 * ViewConfig
014 *
015 * @author timur
016 */
017
018 public class ViewConfig {
019 //---------------------------------------------------------------
020 // constants
021 //---------------------------------------------------------------
022 /**
023 * property file
024 */
025 private static final String PROPERTY = "ViewConfig.properties";
026 /**
027 * system look and feel name
028 */
029 public static final String LOOK_AND_FEEL_SYSTEM = "system";
030 /**
031 * crossplatform look and feel name
032 */
033 public static final String LOOK_AND_FEEL_CROSSPLATFORM = "crossPlatform";
034 //---------------------------------------------------------------
035 // common properties
036 //---------------------------------------------------------------
037 /**
038 * look and feel name, this could be "system", "crossPlatform" or custom look and feel class name
039 */
040 private String lookAndFeel = LOOK_AND_FEEL_CROSSPLATFORM;
041 /**
042 * generated file thumbnail width
043 */
044 private int thumbWidth = 80;
045 /**
046 * generated file thumbnail height
047 */
048 private int thumbHeight = 80;
049 /**
050 * shows whether thumbnails should be generated
051 */
052 private boolean useThumbs = true;
053 /**
054 * allowed file name regex pattern to display (not applied to folders), null for all
055 */
056 private String fileNamePattern = null;
057 /**
058 * ui defaults, this must be string formatted as follows:
059 * key1=value1;key2=value2;...keyN=valueN
060 */
061 private String uiDefaults = null;
062 /**
063 * shows whether ui default should be dumped to log
064 */
065 private boolean dumpUiDefaults;
066 /**
067 * gui properties to add to GUIHelper, this must be string formatted as follows:
068 * key1=value1;key2=value2;...keyN=valueN
069 */
070 private String guiProperties;
071 /**
072 * disable local file system (prevent creation of file system tree/list)
073 */
074 private boolean disableLocalFileSystem = true;
075 //---------------------------------------------------------------
076 // main view
077 //---------------------------------------------------------------
078 /**
079 * shows whether logo is enabled or not
080 */
081 private boolean mainViewLogoEnabled = true;
082 /**
083 * shows whether local files tree view is visible
084 */
085 private boolean mainViewFileTreeViewVisible = false;
086 /**
087 * local files tree view width (percent)
088 */
089 private int mainViewFileTreeViewWidthPercent = 25;
090 /**
091 * shows whether local files list view is visible
092 */
093 private boolean mainViewFileListViewVisible = false;
094 /**
095 * local files list view height (percent)
096 */
097 private int mainViewFileListViewHeightPercent = 50;
098 //---------------------------------------------------------------
099 // file tree view
100 //---------------------------------------------------------------
101 /**
102 * shows whether files should be rendered on file tree
103 */
104 private boolean fileTreeViewShowFiles = false;
105 /**
106 * shows whether file length should be rendered on file tree
107 */
108 private boolean fileTreeViewShowFileLength = false;
109 //---------------------------------------------------------------
110 // file list view
111 //---------------------------------------------------------------
112 /**
113 * shows whether local files list view location bar is visible
114 */
115 private boolean fileListViewLocationBarVisible = true;
116 /**
117 * shows whether thumbnails should be generated for file list view
118 */
119 private boolean fileListViewUseThumbs = true;
120 //---------------------------------------------------------------
121 // upload view
122 //---------------------------------------------------------------
123 /**
124 * upload view menu bar (containing add/remove/retry menus
125 * and files summary labels) visibility
126 */
127 private boolean uploadViewMenuBarVisible = true;
128 /**
129 * upload paste action visibility
130 */
131 private boolean uploadViewPasteActionVisible = true;
132 /**
133 * upload add action visibility
134 */
135 private boolean uploadViewAddActionVisible = true;
136 /**
137 * upload view remove action visibility
138 */
139 private boolean uploadViewRemoveActionVisible = true;
140 /**
141 * upload view retry action visibility
142 */
143 private boolean uploadViewRetryActionVisible = true;
144 /**
145 * upload view files summary bar (ready/uploading/finished/failed) visibility
146 */
147 private boolean uploadViewFilesSummaryBarVisible = true;
148 /**
149 * upload view start action visibility
150 */
151 private boolean uploadViewStartActionVisible = true;
152 /**
153 * upload view stop action visibility
154 */
155 private boolean uploadViewStopActionVisible = true;
156 /**
157 * upload view list status line visibility
158 */
159 private boolean uploadViewListStatusVisible = true;
160 /**
161 * upload view progress pane (incl. pogress bar and upload stats:
162 * completion, rate, time) visibility
163 */
164 private boolean uploadViewProgressPaneVisible = true;
165 /**
166 * shows whether thumbnails should be generated for upload view
167 */
168 private boolean uploadViewUseThumbs = true;
169 /**
170 * custom name for upload list
171 */
172 private String uploadListViewName = null;
173 /**
174 * upload view start upload button text
175 */
176 private String uploadViewStartUploadButtonText = null;
177 /**
178 * upload view start upload button image url
179 */
180 private String uploadViewStartUploadButtonImageUrl = null;
181 /**
182 * upload view stop upload button text
183 */
184 private String uploadViewStopUploadButtonText = null;
185 /**
186 * upload view stop upload button image url
187 */
188 private String uploadViewStopUploadButtonImageUrl = null;
189 /**
190 * shows whether list should be positioned to item being uploaded
191 */
192 private boolean uploadViewAutoscrollToUploadingFile = false;
193 //---------------------------------------------------------------
194 // constructors
195 //---------------------------------------------------------------
196 /**
197 * with model
198 */
199 public ViewConfig( IModel model ) {
200 super();
201 //
202 // inject properties, if present
203 try {
204 PropertyFactory pf = PropertyFactory.getInstance();
205 Property pr = pf.getProperty( PROPERTY );
206 PropertyHelper ph = PropertyHelper.getInstance();
207 ph.injectProperties( this, pr, null );
208 } catch( MissingResourceException ignore ) {
209 }
210 }
211 //---------------------------------------------------------------
212 // property accessors
213 //---------------------------------------------------------------
214 /* (non-Javadoc)
215 * @see jmaster.jumploader.model.impl.config.xx#toString()
216 */
217 public String toString() {
218 return "" +
219 "lookAndFeel=" + lookAndFeel + "\r\n" +
220 "uiDefaults=" + uiDefaults + "\r\n" +
221 "dumpUiDefaults=" + dumpUiDefaults + "\r\n" +
222 "guiProperties=" + guiProperties + "\r\n" +
223 "useThumbs=" + useThumbs + "\r\n" +
224 "thumbWidth=" + thumbWidth + "\r\n" +
225 "thumbHeight=" + thumbHeight + "\r\n" +
226 "fileNamePattern=" + fileNamePattern + "\r\n" +
227 "mainViewLogoEnabled=" + mainViewLogoEnabled + "\r\n" +
228 "mainViewFileTreeViewVisible=" + mainViewFileTreeViewVisible + "\r\n" +
229 "mainViewFileTreeViewWidthPercent=" + mainViewFileTreeViewWidthPercent + "\r\n" +
230 "mainViewFileListViewVisible=" + mainViewFileListViewVisible + "\r\n" +
231 "mainViewFileListViewHeightPercent=" + mainViewFileListViewHeightPercent + "\r\n" +
232 "fileTreeViewShowFiles=" + fileTreeViewShowFiles + "\r\n" +
233 "fileTreeViewShowFileLength=" + fileTreeViewShowFileLength + "\r\n" +
234 "fileListViewLocationBarVisible=" + fileListViewLocationBarVisible + "\r\n" +
235 "fileListViewUseThumbs=" + fileListViewUseThumbs + "\r\n" +
236 "uploadViewMenuBarVisible=" + uploadViewMenuBarVisible + "\r\n" +
237 "uploadViewPasteActionVisible=" + uploadViewPasteActionVisible + "\r\n" +
238 "uploadViewAddActionVisible=" + uploadViewAddActionVisible + "\r\n" +
239 "uploadViewRemoveActionVisible=" + uploadViewRemoveActionVisible + "\r\n" +
240 "uploadViewRetryActionVisible=" + uploadViewRetryActionVisible + "\r\n" +
241 "uploadViewFilesSummaryBarVisible=" + uploadViewFilesSummaryBarVisible + "\r\n" +
242 "uploadViewStartActionVisible=" + uploadViewStartActionVisible + "\r\n" +
243 "uploadViewStopActionVisible=" + uploadViewStopActionVisible + "\r\n" +
244 "uploadViewListStatusVisible=" + uploadViewListStatusVisible + "\r\n" +
245 "uploadViewProgressPaneVisible=" + uploadViewProgressPaneVisible + "\r\n" +
246 "uploadViewUseThumbs=" + uploadViewUseThumbs + "\r\n" +
247 "uploadListViewName=" + uploadListViewName + "\r\n" +
248 "disableLocalFileSystem=" + disableLocalFileSystem + "\r\n" +
249 "uploadViewStartUploadButtonText" + uploadViewStartUploadButtonText + "\r\n" +
250 "uploadViewStartUploadButtonImageUrl=" + uploadViewStartUploadButtonImageUrl + "\r\n" +
251 "uploadViewStopUploadButtonText=" + uploadViewStopUploadButtonText + "\r\n" +
252 "uploadViewStopUploadButtonImageUrl=" + uploadViewStopUploadButtonImageUrl + "\r\n" +
253 "uploadViewAutoscrollToUploadingFile=" + uploadViewAutoscrollToUploadingFile + "\r\n" +
254 "";
255 }
256 public boolean isDumpUiDefaults() {
257 return dumpUiDefaults;
258 }
259 public void setDumpUiDefaults(boolean dumpUiDefaults) {
260 this.dumpUiDefaults = dumpUiDefaults;
261 }
262 public String getFileNamePattern() {
263 return fileNamePattern;
264 }
265 public void setFileNamePattern(String fileNamePattern) {
266 this.fileNamePattern = fileNamePattern;
267 }
268 public boolean isFileListViewLocationBarVisible() {
269 return fileListViewLocationBarVisible;
270 }
271 public void setFileListViewLocationBarVisible(
272 boolean fileListViewLocationBarVisible) {
273 this.fileListViewLocationBarVisible = fileListViewLocationBarVisible;
274 }
275 public boolean isFileTreeViewShowFileLength() {
276 return fileTreeViewShowFileLength;
277 }
278 public void setFileTreeViewShowFileLength(boolean fileTreeViewShowFileLength) {
279 this.fileTreeViewShowFileLength = fileTreeViewShowFileLength;
280 }
281 public boolean isFileTreeViewShowFiles() {
282 return fileTreeViewShowFiles;
283 }
284 public void setFileTreeViewShowFiles(boolean fileTreeViewShowFiles) {
285 this.fileTreeViewShowFiles = fileTreeViewShowFiles;
286 }
287 public String getLookAndFeel() {
288 return lookAndFeel;
289 }
290 public void setLookAndFeel(String lookAndFeel) {
291 this.lookAndFeel = lookAndFeel;
292 }
293 public int getThumbHeight() {
294 return thumbHeight;
295 }
296 public void setThumbHeight(int thumbHeight) {
297 this.thumbHeight = thumbHeight;
298 }
299 public int getThumbWidth() {
300 return thumbWidth;
301 }
302 public void setThumbWidth(int thumbWidth) {
303 this.thumbWidth = thumbWidth;
304 }
305 public boolean isUploadViewAddActionVisible() {
306 return uploadViewAddActionVisible;
307 }
308 public void setUploadViewAddActionVisible(boolean uploadViewAddActionVisible) {
309 this.uploadViewAddActionVisible = uploadViewAddActionVisible;
310 }
311 public boolean isUploadViewFilesSummaryBarVisible() {
312 return uploadViewFilesSummaryBarVisible;
313 }
314 public void setUploadViewFilesSummaryBarVisible(
315 boolean uploadViewFilesSummaryBarVisible) {
316 this.uploadViewFilesSummaryBarVisible = uploadViewFilesSummaryBarVisible;
317 }
318 public boolean isUploadViewListStatusVisible() {
319 return uploadViewListStatusVisible;
320 }
321 public void setUploadViewListStatusVisible(boolean uploadViewListStatusVisible) {
322 this.uploadViewListStatusVisible = uploadViewListStatusVisible;
323 }
324 public boolean isUploadViewMenuBarVisible() {
325 return uploadViewMenuBarVisible;
326 }
327 public void setUploadViewMenuBarVisible(boolean uploadViewMenuBarVisible) {
328 this.uploadViewMenuBarVisible = uploadViewMenuBarVisible;
329 }
330 public boolean isUploadViewProgressPaneVisible() {
331 return uploadViewProgressPaneVisible;
332 }
333 public void setUploadViewProgressPaneVisible(
334 boolean uploadViewProgressPaneVisible) {
335 this.uploadViewProgressPaneVisible = uploadViewProgressPaneVisible;
336 }
337 public boolean isUploadViewRemoveActionVisible() {
338 return uploadViewRemoveActionVisible;
339 }
340 public void setUploadViewRemoveActionVisible(
341 boolean uploadViewRemoveActionVisible) {
342 this.uploadViewRemoveActionVisible = uploadViewRemoveActionVisible;
343 }
344 public boolean isUploadViewRetryActionVisible() {
345 return uploadViewRetryActionVisible;
346 }
347 public void setUploadViewRetryActionVisible(boolean uploadViewRetryActionVisible) {
348 this.uploadViewRetryActionVisible = uploadViewRetryActionVisible;
349 }
350 public boolean isUploadViewStartActionVisible() {
351 return uploadViewStartActionVisible;
352 }
353 public void setUploadViewStartActionVisible(boolean uploadViewStartActionVisible) {
354 this.uploadViewStartActionVisible = uploadViewStartActionVisible;
355 }
356 public boolean isUploadViewStopActionVisible() {
357 return uploadViewStopActionVisible;
358 }
359 public void setUploadViewStopActionVisible(boolean uploadViewStopActionVisible) {
360 this.uploadViewStopActionVisible = uploadViewStopActionVisible;
361 }
362 public int getMainViewFileListViewHeightPercent() {
363 return mainViewFileListViewHeightPercent;
364 }
365 public void setMainViewFileListViewHeightPercent(
366 int mainViewFileListViewHeightPercent) {
367 this.mainViewFileListViewHeightPercent = mainViewFileListViewHeightPercent;
368 }
369 public boolean isMainViewFileListViewVisible() {
370 return mainViewFileListViewVisible;
371 }
372 public void setMainViewFileListViewVisible(boolean mainViewFileListViewVisible) {
373 this.mainViewFileListViewVisible = mainViewFileListViewVisible;
374 }
375 public int getMainViewFileTreeViewWidthPercent() {
376 return mainViewFileTreeViewWidthPercent;
377 }
378 public void setMainViewFileTreeViewWidthPercent(
379 int mainViewFileTreeViewWidthPercent) {
380 this.mainViewFileTreeViewWidthPercent = mainViewFileTreeViewWidthPercent;
381 }
382 public boolean isMainViewFileTreeViewVisible() {
383 return mainViewFileTreeViewVisible;
384 }
385 public void setMainViewFileTreeViewVisible(boolean mainViewFileTreeViewVisible) {
386 this.mainViewFileTreeViewVisible = mainViewFileTreeViewVisible;
387 }
388 public boolean isMainViewLogoEnabled() {
389 return mainViewLogoEnabled;
390 }
391 public void setMainViewLogoEnabled(boolean mainViewLogoEnabled) {
392 this.mainViewLogoEnabled = mainViewLogoEnabled;
393 }
394 public boolean isUseThumbs() {
395 return useThumbs;
396 }
397 public void setUseThumbs(boolean useThumbs) {
398 this.useThumbs = useThumbs;
399 }
400 public boolean isFileListViewUseThumbs() {
401 return fileListViewUseThumbs;
402 }
403 public void setFileListViewUseThumbs(boolean fileListViewUseThumbs) {
404 this.fileListViewUseThumbs = fileListViewUseThumbs;
405 }
406 public boolean isUploadViewUseThumbs() {
407 return uploadViewUseThumbs;
408 }
409 public void setUploadViewUseThumbs(boolean uploadViewUseThumbs) {
410 this.uploadViewUseThumbs = uploadViewUseThumbs;
411 }
412 public String getUploadListViewName() {
413 return uploadListViewName;
414 }
415 public void setUploadListViewName(String uploadListViewName) {
416 this.uploadListViewName = uploadListViewName;
417 }
418 public String getUiDefaults() {
419 return uiDefaults;
420 }
421 public void setUiDefaults(String uiDefaults) {
422 this.uiDefaults = uiDefaults;
423 }
424 public String getGuiProperties() {
425 return guiProperties;
426 }
427 public void setGuiProperties(String guiProperties) {
428 this.guiProperties = guiProperties;
429 }
430 public boolean isDisableLocalFileSystem() {
431 return disableLocalFileSystem;
432 }
433 public void setDisableLocalFileSystem(boolean disableLocalFileSystem) {
434 this.disableLocalFileSystem = disableLocalFileSystem;
435 }
436 public String getUploadViewStartUploadButtonImageUrl() {
437 return uploadViewStartUploadButtonImageUrl;
438 }
439 public void setUploadViewStartUploadButtonImageUrl(
440 String uploadViewStartUploadButtonImageUrl) {
441 this.uploadViewStartUploadButtonImageUrl = uploadViewStartUploadButtonImageUrl;
442 }
443 public String getUploadViewStartUploadButtonText() {
444 return uploadViewStartUploadButtonText;
445 }
446 public void setUploadViewStartUploadButtonText(
447 String uploadViewStartUploadButtonText) {
448 this.uploadViewStartUploadButtonText = uploadViewStartUploadButtonText;
449 }
450 public String getUploadViewStopUploadButtonImageUrl() {
451 return uploadViewStopUploadButtonImageUrl;
452 }
453 public void setUploadViewStopUploadButtonImageUrl(
454 String uploadViewStopUploadButtonImageUrl) {
455 this.uploadViewStopUploadButtonImageUrl = uploadViewStopUploadButtonImageUrl;
456 }
457 public String getUploadViewStopUploadButtonText() {
458 return uploadViewStopUploadButtonText;
459 }
460 public void setUploadViewStopUploadButtonText(
461 String uploadViewStopUploadButtonText) {
462 this.uploadViewStopUploadButtonText = uploadViewStopUploadButtonText;
463 }
464 public boolean isUploadViewPasteActionVisible() {
465 return uploadViewPasteActionVisible;
466 }
467 public void setUploadViewPasteActionVisible(boolean uploadViewPasteActionVisible) {
468 this.uploadViewPasteActionVisible = uploadViewPasteActionVisible;
469 }
470 public boolean isUploadViewAutoscrollToUploadingFile() {
471 return uploadViewAutoscrollToUploadingFile;
472 }
473 public void setUploadViewAutoscrollToUploadingFile(
474 boolean uploadViewAutoscrollToUploadingFile) {
475 this.uploadViewAutoscrollToUploadingFile = uploadViewAutoscrollToUploadingFile;
476 }
477 }