]> git.sesse.net Git - vlc/blobdiff - modules/gui/beos/PreferencesWindow.h
Comments.
[vlc] / modules / gui / beos / PreferencesWindow.h
index eba9c4a95b5f14dc42b5dce83a9adf7589c577ed..85823db761d8358e01668e66fd79424262b8ed15 100644 (file)
@@ -1,10 +1,10 @@
 /*****************************************************************************
  * PreferencesWindow.h
  *****************************************************************************
- * Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: PreferencesWindow.h,v 1.17 2003/05/25 17:21:36 titer Exp $
+ * Copyright (C) 1999, 2000, 2001 the VideoLAN team
+ * $Id$
  *
- * Authors: Eric Petit <titer@videolan.org>
+ * Authors: Eric Petit <titer@m0k.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 #ifndef BEOS_PREFERENCES_WINDOW_H
 #define PREFS_APPLY          'prap'
 #define PREFS_SAVE           'prsa'
 
-class StringItemWithView : public BStringItem
+class VTextView : public BTextView
 {
-  public:
-                            StringItemWithView( const char * text )
-                                : BStringItem( text )
-                            {
-                                fConfigBox = NULL;
-                                fConfigScroll = NULL;
-                                fConfigView = NULL;
-                                fText = strdup( text );
-                            }
-
-    /* Here we store the config BBox associated to this module */
-    BBox *                  fConfigBox;
-    BScrollView *           fConfigScroll;
-    BView *                 fConfigView;
-    char *                  fText;
-};
-
-class ConfigTextControl : public BTextControl
-{
-  public:
-                            ConfigTextControl( BRect rect, char * label,
-                                               int type, char * configName )
-                                : BTextControl( rect, "ConfigTextControl", label,
-                                                "", new BMessage() )
-                            {
-                                fConfigType = type;
-                                fConfigName = strdup( configName );
-                            }
-
-    int                     fConfigType;
-    char *                  fConfigName;
+    public:
+             VTextView( BRect frame, const char *name,
+                        uint32 resizingMode, uint32 flags );
+        void FrameResized( float width, float height );
 };
 
-class ConfigCheckBox : public BCheckBox
+class VTextControl : public BTextControl
 {
     public:
-                            ConfigCheckBox( BRect rect, char * label,
-                                            char * configName )
-                               : BCheckBox( rect, "ConfigCheckBox", label,
-                                            new BMessage() )
-                            {
-                                fConfigName = strdup( configName );
-                            }
-
-    char *                  fConfigName;
+             VTextControl( BRect frame, const char *name,
+                           const char *label, const char *text,
+                           BMessage * message, uint32 resizingMode );
+        void FrameResized( float width, float height );
 };
 
-class ConfigMenuField : public BMenuField
+class ConfigWidget : public BView
 {
     public:
-                            ConfigMenuField( BRect rect, char * label,
-                                             BPopUpMenu * popUp, char * configName )
-                               : BMenuField( rect, "ConfigMenuField", label,
-                                             popUp, new BMessage() )
-                            {
-                                fConfigName = strdup( configName );
-                            }
-
-    char *                  fConfigName;
+                        ConfigWidget( intf_thread_t * p_intf, BRect rect,
+                                      module_config_t * p_item );
+                        ~ConfigWidget();
+        bool            InitCheck() { return fInitOK; }
+        void            Apply( bool doIt );
+
+    private:
+        intf_thread_t * p_intf;
+
+        bool            fInitOK;
+        int             fType;
+        char          * fName;
+
+        VTextControl  * fTextControl;
+        BCheckBox     * fCheckBox;
+        BPopUpMenu    * fPopUpMenu;
+        BMenuField    * fMenuField;
+        BSlider       * fSlider;
+        BStringView   * fStringView;
+        BCheckBox     * fAltCheck;
+        BCheckBox     * fCtrlCheck;
+        BCheckBox     * fShiftCheck;
 };
 
-class ConfigSlider : public BSlider
+class ConfigItem : public BStringItem
 {
     public:
-                            ConfigSlider( BRect rect, char * label, int type,
-                                          int min, int max, char * configName )
-                               : BSlider( rect, "ConfigSlider", label,
-                                          new BMessage(), min, max )
-                            {
-                                fConfigType = type;
-                                fConfigName = strdup( configName );
-                            }
-                            
-    int                     fConfigType;
-    char * fConfigName;
+                      ConfigItem( intf_thread_t * p_intf,
+                                  char * name, bool subModule,
+                                  int objectId, int type, char * help );
+                      ~ConfigItem();
+        int           ObjectId() { return fObjectId; }
+        BBox        * Box() { return fBox; }
+        void          UpdateScrollBar();
+        void          ResetScroll();
+        void          Apply( bool doIt );
+
+    private:
+        intf_thread_t * p_intf;
+
+        bool            fSubModule;
+        int             fObjectId;
+        int             fType;
+        char          * fHelp;
+
+        BBox          * fBox;
+        VTextView     * fTextView;
+        BScrollView   * fScroll;
+        BView         * fView;
 };
 
 class PreferencesWindow : public BWindow
@@ -125,24 +117,21 @@ class PreferencesWindow : public BWindow
     virtual void            FrameResized( float, float );
 
             void            Update();
-            void            UpdateScrollBar();
-            void            ApplyChanges( bool doIt );
-            void            SaveChanges();
+            void            Apply( bool doIt );
 
             void            ReallyQuit();
 
   private:
-    void                    BuildConfigView( StringItemWithView * stringItem,
+    void                    BuildConfigView( ConfigItem * stringItem,
                                              module_config_t ** pp_item,
                                              bool stop_after_category );
 
-    BView *                 fPrefsView;
-    BOutlineListView *      fOutline;
-    BView *                 fDummyView;
-    BScrollView *           fConfigScroll;
-    StringItemWithView *    fCurrent;
+    BView                 * fPrefsView;
+    BOutlineListView      * fOutline;
+    BView                 * fDummyView;
+    ConfigItem            * fCurrent;
 
-    intf_thread_t *         p_intf;
+    intf_thread_t         * p_intf;
 };
 
 #endif    // BEOS_PREFERENCES_WINDOW_H