#include "pirpanelnames.h"
class PIRMainForm;
+class PIRAltMainForm;
class PIRUtilityForm;
class PIRKeypadForm;
class PIRMenuForm;
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>
-class PIRPanelPair
-{
-public:
- PIRPanelPair(
- PIRPanelName n,
- bool d)
- : name(n),
- displayed(d)
- {}
-
- PIRPanelName name;
- bool displayed;
-};
+typedef std::list<PIRPanelName> PIRPanelNameList;
+typedef std::map<PIRTabBarName, PIRPanelNameList> PIRTabsCollection;
-typedef std::list<PIRPanelPair> PIRPanelList;
+typedef std::map<PIRPanelName, QWidget *> PIRPanelCollection;
+typedef std::map<PIRPanelName, const char *> PIRPanelDisplayNameCollection;
+typedef std::map<QString, PIRPanelName> PIRReversePanelIndex;
class PIRPanelManager
{
~PIRPanelManager();
-/*
- void setupPanels(
- PIRPanelSelectionForm *psf);
-*/
+ void updateTabSet();
void enableButtons(
- const PIRKeysetManager *keyset,
+ PIRKeysetManager *keyset,
unsigned int id);
- void managePanel(
- PIRPanelName name,
- int state);
+ void enableButtons(
+ PIRKeysetManager *keyset,
+ unsigned int currentID,
+ unsigned int defaultID);
+
+ void updateUserButtons();
- void selectPrevFavKeyset();
- void selectNextFavKeyset();
-
- void addFavoritesItem(
- PIRKeysetWidgetItem *item);
+ void useMainPanel();
+ void useAltMainPanel();
- // This is a hack:
- QListWidget *getFavoritesListWidget();
+/*
+ void setupUniversalTabs();
+ void setupTVTabs();
+ void setupVideoTabs();
+ void setupACTabs();
+ void setupRecordTabs();
+*/
+ void setupTabs(PIRTabBarName name);
+
+ QComboBox *getKeysetComboBox();
+
+ void gotoPreviousTabs();
+ void gotoNextTabs();
private:
- void hidePanel(
- PIRPanelName name,
- int index);
-
- void showPanel(
- PIRPanelName name,
- int index);
-
+ void commonEnableButtons(
+ PIRKeysetManager *keyset,
+ unsigned int id);
+
PIRMainForm *mainForm;
+ PIRAltMainForm *altMainForm;
PIRUtilityForm *utilityForm;
PIRKeypadForm *keypadForm;
PIRMenuForm *menuForm;
PIRInputForm *inputForm;
PIRAdjustForm *adjustForm;
PIRAirConditionerForm *acForm;
- PIRFavoritesForm *favoritesForm;
-
- PIRPanelList panelList;
+ PIRAudioDeviceForm *audioDeviceForm;
+ PIRCameraForm *cameraForm;
+ PIRRoombaForm *roombaForm;
+ PIRUserForm *userForm;
+ PIRMacroForm *macroForm;
+ PIRPowerSearchForm *powerSearchForm;
+ PIRAdvancedForm *advancedForm;
+
+ PIRPanelDisplayNameCollection shortPanelNames;
+ PIRPanelDisplayNameCollection longPanelNames;
+// PIRReversePanelIndex reverseIndex;
+ PIRTabsCollection tabLists;
+ PIRPanelCollection panels;
+
+ bool altMainPanelFlag;
+
+ PIRTabBarName currentTabsName;
MainWindow *mainWindow;
};