]> git.sesse.net Git - vlc/blobdiff - modules/gui/beos/PreferencesWindow.h
[Qt] Add an icon when dragging.
[vlc] / modules / gui / beos / PreferencesWindow.h
index beb22a023f19d3e341f955d3f37edba41b7facfb..85823db761d8358e01668e66fd79424262b8ed15 100644 (file)
@@ -1,16 +1,16 @@
 /*****************************************************************************
  * PreferencesWindow.h
  *****************************************************************************
- * Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: PreferencesWindow.h,v 1.3 2002/11/26 01:06:08 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
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *
  * 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 BEOS_PREFERENCES_WINDOW_H
 
-#include <Window.h>
+#include <InterfaceKit.h>
 
-#define PREFS_WINDOW_WIDTH   400
-#define PREFS_WINDOW_HEIGHT  280
+#define PREFS_WINDOW_WIDTH   700
+#define PREFS_WINDOW_HEIGHT  400
+#define PREFS_ITEM_SELECTED  'pris'
+#define PREFS_DEFAULTS       'prde'
+#define PREFS_APPLY          'prap'
+#define PREFS_SAVE           'prsa'
 
-#define PREFS_OK       'prok'
-#define PREFS_CANCEL   'prca'
-#define PREFS_DEFAULTS 'prde'
-#define SLIDER_UPDATE  'slup'
+class VTextView : public BTextView
+{
+    public:
+             VTextView( BRect frame, const char *name,
+                        uint32 resizingMode, uint32 flags );
+        void FrameResized( float width, float height );
+};
 
-class PreferencesWindow : public BWindow
+class VTextControl : public BTextControl
+{
+    public:
+             VTextControl( BRect frame, const char *name,
+                           const char *label, const char *text,
+                           BMessage * message, uint32 resizingMode );
+        void FrameResized( float width, float height );
+};
+
+class ConfigWidget : public BView
+{
+    public:
+                        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 ConfigItem : public BStringItem
 {
     public:
-                         PreferencesWindow( BRect frame,
-                                            const char* name,
-                                            intf_thread_t *p_interface );
-        virtual          ~PreferencesWindow();
-        virtual void     MessageReceived(BMessage *message);
-        void             ReallyQuit();
+                      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:
-        void             SetDefaults();
-        void             ApplyChanges();
-        BView *          fPrefsView;
-        BTabView *       fTabView;
-        BView *          fFfmpegView;
-        BView *          fAdjustView;
-        BTab *           fFfmpegTab;
-        BTab *           fAdjustTab;
-        BSlider *        fPpSlider;
-        BSlider *        fContrastSlider;
-        BSlider *        fBrightnessSlider;
-        BSlider *        fHueSlider;
-        BSlider *        fSaturationSlider;
-        BStringView *    fRestartString;
-
-        intf_thread_t *  p_intf;
+        intf_thread_t * p_intf;
+
+        bool            fSubModule;
+        int             fObjectId;
+        int             fType;
+        char          * fHelp;
+
+        BBox          * fBox;
+        VTextView     * fTextView;
+        BScrollView   * fScroll;
+        BView         * fView;
 };
 
-#endif // BEOS_PREFERENCES_WINDOW_H
+class PreferencesWindow : public BWindow
+{
+  public:
+                            PreferencesWindow( intf_thread_t * p_intf,
+                                               BRect frame,
+                                               const char * name );
+    virtual                 ~PreferencesWindow();
+
+    virtual bool            QuitRequested();
+    virtual void            MessageReceived(BMessage* message);
+    virtual void            FrameResized( float, float );
+
+            void            Update();
+            void            Apply( bool doIt );
+
+            void            ReallyQuit();
+
+  private:
+    void                    BuildConfigView( ConfigItem * stringItem,
+                                             module_config_t ** pp_item,
+                                             bool stop_after_category );
+
+    BView                 * fPrefsView;
+    BOutlineListView      * fOutline;
+    BView                 * fDummyView;
+    ConfigItem            * fCurrent;
+
+    intf_thread_t         * p_intf;
+};
 
+#endif    // BEOS_PREFERENCES_WINDOW_H