Advanced Settings Panel
[pierogi] / pirpanelmanager.h
index c06c7f2..d0f0222 100644 (file)
@@ -15,18 +15,30 @@ class PIRTVForm;
 class PIRInputForm;
 class PIRAdjustForm;
 class PIRAirConditionerForm;
-class PIRFavoritesForm;
+class PIRAudioDeviceForm;
+class PIRCameraForm;
+class PIRRoombaForm;
+class PIRUserForm;
+class PIRMacroForm;
+class PIRPowerSearchForm;
+class PIRAdvancedForm;
 
 class PIRKeysetWidgetItem;
-class PIRPanelSelectionForm;
 class PIRKeysetManager;
 class QListWidget;
+class QComboBox;
 class MainWindow;
 
+#include <list>
 #include <map>
 #include <QString>
+#include <QWidget>
+
+typedef std::list<PIRPanelName> PIRPanelNameList;
+typedef std::map<PIRTabBarName, PIRPanelNameList> PIRTabsCollection;
+
+typedef std::map<PIRPanelName, QWidget *> PIRPanelCollection;
 typedef std::map<PIRPanelName, const char *> PIRPanelDisplayNameCollection;
-typedef std::map<PIRPanelName, bool> PIRActivePanelCollection;
 typedef std::map<QString, PIRPanelName> PIRReversePanelIndex;
 
 class PIRPanelManager
@@ -37,47 +49,41 @@ public:
 
   ~PIRPanelManager();
 
-  void setupPanels(
-    PIRPanelSelectionForm *psf);
+  void updateTabSet();
 
   void enableButtons(
-    const PIRKeysetManager *keyset,
+    PIRKeysetManager *keyset,
     unsigned int id);
 
   void enableButtons(
-    const PIRKeysetManager *keyset,
+    PIRKeysetManager *keyset,
     unsigned int currentID,
     unsigned int defaultID);
 
-  void managePanel(
-    PIRPanelName name,
-    int state);
+  void updateUserButtons();
 
   void useMainPanel();
   void useAltMainPanel();
 
-  void selectPrevFavKeyset();
-  void selectNextFavKeyset();
-  void addFavoritesItem(
-    PIRKeysetWidgetItem *item);
+/*
+  void setupUniversalTabs();
+  void setupTVTabs();
+  void setupVideoTabs();
+  void setupACTabs();
+  void setupRecordTabs();
+*/
+  void setupTabs(PIRTabBarName name);
+
+  QComboBox *getKeysetComboBox();
 
-  // This is a hack:
-  QListWidget *getFavoritesListWidget();
+  void gotoPreviousTabs();
+  void gotoNextTabs();
 
 private:
   void commonEnableButtons(
-    const PIRKeysetManager *keyset,
+    PIRKeysetManager *keyset,
     unsigned int id);
 
-  void hidePanel(
-    PIRPanelName name,
-    int index);
-
-  void showPanel(
-    PIRPanelName name,
-    int index);
-  
   PIRMainForm *mainForm;
   PIRAltMainForm *altMainForm;
   PIRUtilityForm *utilityForm;
@@ -90,15 +96,24 @@ private:
   PIRInputForm *inputForm;
   PIRAdjustForm *adjustForm;
   PIRAirConditionerForm *acForm;
-  PIRFavoritesForm *favoritesForm;
+  PIRAudioDeviceForm *audioDeviceForm;
+  PIRCameraForm *cameraForm;
+  PIRRoombaForm *roombaForm;
+  PIRUserForm *userForm;
+  PIRMacroForm *macroForm;
+  PIRPowerSearchForm *powerSearchForm;
+  PIRAdvancedForm *advancedForm;
 
   PIRPanelDisplayNameCollection shortPanelNames;
   PIRPanelDisplayNameCollection longPanelNames;
-  PIRActivePanelCollection activePanels;
 //  PIRReversePanelIndex reverseIndex;
+  PIRTabsCollection tabLists;
+  PIRPanelCollection panels;
 
   bool altMainPanelFlag;
 
+  PIRTabBarName currentTabsName;
+
   MainWindow *mainWindow;
 };