001    package jmaster.jumploader.view.api.main;
002    
003    import javax.swing.Icon;
004    
005    import jmaster.jumploader.view.api.IGenericView;
006    import jmaster.jumploader.view.api.file.list.IFileListView;
007    import jmaster.jumploader.view.api.file.tree.IFileTreeView;
008    import jmaster.jumploader.view.api.image.IImageView;
009    import jmaster.jumploader.view.api.upload.IUploadView;
010    
011    /**
012     * IMainView
013     * 
014     * @author timur
015     */
016    
017    public interface IMainView
018    extends IGenericView {
019            //---------------------------------------------------------------
020            //      constants
021            //---------------------------------------------------------------
022            //---------------------------------------------------------------
023            //      business methods
024            //---------------------------------------------------------------
025            /**
026             * IProgramView retrieval
027             */
028            public IProgramView getProgramView(); 
029            /**
030             * IUploadView retrieval
031             */
032            public IUploadView getUploadView();
033            /**
034             * IFileTreeView retrieval
035             */
036            public IFileTreeView getFileTreeView();
037            /**
038             * IFileListView retrieval
039             */
040            public IFileListView getFileListView();
041            /**
042             * IImageView retrieval
043             */
044            public IImageView getImageView();
045            /**
046             * show error
047             */
048            public void showError( String message );
049            /**
050             * show warning
051             */
052            public void showWarning( String message );
053            /**
054             * show info
055             */
056            public void showInfo( String message );
057            /**
058             * update view (synchronize to view config)
059             */
060            public void updateView();
061            /**
062             * set current view
063             */
064            public void setCurrentView( IGenericView view );
065            /**
066             * current view retrieval
067             */
068            public IGenericView getCurrentView();
069            /**
070             * show glass view
071             */
072            public void showGlassView( boolean show );
073            /**
074             * show message dialog and return result
075             * @param messageTitle - a title for dialog window
076             * @param message - a message to display (could be html)
077             * @param icon - an icon to display
078             * @param commandIdArray - an array of command button IDs 
079             * @param commandLabelArray - an array of button cpations, order and count must match commandIdArray
080             * @return user selected command id
081             */
082            public String showMessageDialog(String messageTitle, String message, Icon icon,
083                            String[] commandIdArray, String[] commandLabelArray);
084    }