1/**************************************************************************** 2* 3* wxWindows HTML Applet Package 4* 5* Copyright (C) 1991-2001 SciTech Software, Inc. 6* All rights reserved. 7* 8* ======================================================================== 9* 10* The contents of this file are subject to the wxWindows License 11* Version 3.0 (the "License"); you may not use this file except in 12* compliance with the License. You may obtain a copy of the License at 13* http://www.wxwindows.org/licence3.txt 14* 15* Software distributed under the License is distributed on an 16* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 17* implied. See the License for the specific language governing 18* rights and limitations under the License. 19* 20* ======================================================================== 21* 22* Language: ANSI C++ 23* Environment: Any 24* 25* Description: Header file for the MonitorApplet class 26* 27****************************************************************************/ 28 29#ifndef __WX_MONITORAPPLET_H 30#define __WX_MONITORAPPLET_H 31 32#include "wx/applet/applet.h" 33#include "combobox.h" 34#include "dialogs_wdr.h" 35 36/*--------------------------- Class Definitions ---------------------------*/ 37 38/**************************************************************************** 39REMARKS: 40Structure defining the simple monitor database records. 41****************************************************************************/ 42struct MonitorEntry { 43 char m_Mfr[60]; 44 char m_Model[60]; 45 }; 46 47/**************************************************************************** 48REMARKS: 49Defines our wxMonitorData cookie object that is stored to maintain state 50information for this MonitorApplet. 51****************************************************************************/ 52class MonitorData : public wxObject { 53public: 54 MonitorEntry m_Monitor; 55 }; 56 57// Name used to track the monitor data cookie 58#define MONITOR_COOKIE_NAME "MonitorData" 59 60/**************************************************************************** 61REMARKS: 62Defines our wxMonitor applet class 63****************************************************************************/ 64class MonitorApplet : public wxApplet { 65private: 66 DECLARE_DYNAMIC_CLASS(MonitorApplet); 67 DECLARE_EVENT_TABLE(); 68 69protected: 70 ComboBox *m_Mfr; 71 ComboBox *m_Model; 72 MonitorData *m_Data; 73 static MonitorEntry m_Monitors[]; 74 75 // Flush the current state to a cookie 76 void SaveCurrentState(); 77 78public: 79 // Constructor (called during dynamic creation) 80 MonitorApplet(); 81 82 // Psuedo virtual constructor 83 virtual bool Create( 84 wxHtmlAppletWindow *parent, 85 const wxSize& size, 86 long style); 87 88 // Virtual destructor 89 virtual ~MonitorApplet(); 90 91 // Handle HTML navigation to a new URL 92 virtual void OnLinkClicked(const wxHtmlLinkInfo& link); 93 94 // Handle HTML navigation forward command in applet 95 virtual void OnHistoryForward(); 96 97 // Handle HTML navigation back command in applet 98 virtual void OnHistoryBack(); 99 100 // Handle messages from the wxAppletManager and other applets 101 virtual void OnMessage(wxEvent& msg); 102 103 // Update the model and menufacturer lists 104 void ReadMfrList(); 105 void ReadModelList(bool selectCurrent); 106 107 // Event handlers 108 void OnChange(wxCommandEvent &event); 109 }; 110 111#endif // __WX_MONITORAPPLET_H 112 113