X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/38caaa61b154f60871cb6ec82040362762dd2dba..3d74a760130b1cba417ad7eb61a146dee9144d22:/contrib/include/wx/applet/window.h diff --git a/contrib/include/wx/applet/window.h b/contrib/include/wx/applet/window.h index 6ac0fcc72b..5746a12543 100644 --- a/contrib/include/wx/applet/window.h +++ b/contrib/include/wx/applet/window.h @@ -5,23 +5,19 @@ * Copyright (C) 1991-2001 SciTech Software, Inc. * All rights reserved. * -* ====================================================================== -* |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW| -* | | -* |This copyrighted computer code is a proprietary trade secret of | -* |SciTech Software, Inc., located at 505 Wall Street, Chico, CA 95928 | -* |USA (www.scitechsoft.com). ANY UNAUTHORIZED POSSESSION, USE, | -* |VIEWING, COPYING, MODIFICATION OR DISSEMINATION OF THIS CODE IS | -* |STRICTLY PROHIBITED BY LAW. Unless you have current, express | -* |written authorization from SciTech to possess or use this code, you | -* |may be subject to civil and/or criminal penalties. | -* | | -* |If you received this code in error or you would like to report | -* |improper use, please immediately contact SciTech Software, Inc. at | -* |530-894-8400. | -* | | -* |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW| -* ====================================================================== +* ======================================================================== +* +* The contents of this file are subject to the wxWindows License +* Version 3.0 (the "License"); you may not use this file except in +* compliance with the License. You may obtain a copy of the License at +* http://www.wxwindows.org/licence3.txt +* +* Software distributed under the License is distributed on an +* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +* implied. See the License for the specific language governing +* rights and limitations under the License. +* +* ======================================================================== * * Language: ANSI C++ * Environment: Any @@ -34,17 +30,37 @@ #define __WX_APPLET_WINDOW_H #include "wx/html/htmlwin.h" +#include "wx/hash.h" +#include "wx/process.h" +#include "wx/toolbar.h" // Forward declare class wxApplet; +class wxQlet; class wxLoadPageEvent; class wxPageLoadedEvent; class wxIncludePrep; +class wxToolBarBase; // Declare a linked list of wxApplet pointers WX_DECLARE_LIST(wxApplet, wxAppletList); /*--------------------------- Class Definitions ---------------------------*/ +class wxAppletEvent { +protected: + int m_id; + wxObject *m_eventObject; +public: + wxAppletEvent(int id) { m_eventObject=NULL; m_id = id; } + + int GetId() const { return m_id; } + void SetId(int Id) { m_id = Id; } + + wxObject *GetEventObject() const { return m_eventObject; } + void SetEventObject(wxObject *obj) { m_eventObject = obj; } + +}; + /**************************************************************************** REMARKS: @@ -52,26 +68,36 @@ Defines the class for virtual-link data types ****************************************************************************/ class VirtualData : public wxObject { private: + DECLARE_DYNAMIC_CLASS(VirtualData); + +protected: wxString m_name; wxString m_group; wxString m_href; + wxString m_plugIn; public: // Ctors VirtualData( wxString& name, wxString& group, - wxString& href ); + wxString& href, + wxString& plugin ); + + VirtualData(); // Gets wxString GetName(){ return m_name;}; wxString GetGroup(){ return m_group;}; wxString GetHref(){ return m_href;}; + wxString GetPlugIn(){ return m_plugIn;}; // Sets void SetName (wxString& s){ m_name = s; }; void SetGroup(wxString& s){ m_group = s; }; void SetHref (wxString& s){ m_href = s; }; + void SetPlugIn (wxString& s){ m_plugIn = s;}; + void EmptyPlugIn () { m_plugIn = "";}; }; /**************************************************************************** @@ -85,14 +111,21 @@ private: DECLARE_CLASS(wxHtmlAppletWindow); DECLARE_EVENT_TABLE(); - wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor + bool m_mutexLock; + wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor + protected: wxAppletList m_AppletList; static wxHashTable m_Cookies; + bool m_NavBarEnabled; wxToolBarBase *m_NavBar; int m_NavBackId; int m_NavForwardId; - + wxString m_openedlast; + + // Override this so we can do proper palette management!! + virtual void OnDraw(wxDC& dc); + public: // Constructor wxHtmlAppletWindow( @@ -116,6 +149,9 @@ public: const wxHtmlTag ¶ms, const wxSize& size); + // Create an instance of an Qlet based on it's class name + bool CreatePlugIn(const wxString& classId,const wxString& cmdLine = ""); + // Find an instance of an applet based on it's class name wxApplet *FindApplet(const wxString& className); @@ -134,17 +170,25 @@ public: // Handles backwards navigation within the HTML stack bool HistoryBack(); + // Disables Nav bars + void DisableNavBar(); + + // Enables Nav bars + void EnableNavBar(); + + void SetNavBar(wxToolBarBase *navBar); + // Broadcast a message to all applets on the page - void SendMessage(wxEvent& msg); + void SendAppletMessage(wxAppletEvent& msg); // Register a cookie of data in the applet manager - bool RegisterCookie(const wxString& name,wxObject *cookie); + static bool RegisterCookie(const wxString& name,wxObject *cookie); // UnRegister a cookie of data in the applet manager - bool UnRegisterCookie(const wxString& name); + static bool UnRegisterCookie(const wxString& name); // Find a cookie of data given it's public name - wxObject *FindCookie(const wxString& name); + static wxObject *FindCookie(const wxString& name); // Event handlers to load a new page void OnLoadPage(wxLoadPageEvent &event); @@ -152,7 +196,36 @@ public: // Event handlers to load a new page void OnPageLoaded(wxPageLoadedEvent &event); + // LoadPage mutex locks + void Lock(){ m_mutexLock = true;}; + void UnLock(){ m_mutexLock = false;}; + + // Returns TRUE if the mutex is locked, FALSE otherwise. + bool IsLocked(){ return m_mutexLock;}; + + // Tries to lock the mutex. If it can't, returns immediately with false. + bool TryLock(); + + wxString GetLastOpened() { return m_openedlast; } }; +/**************************************************************************** +REMARKS: +Defines the class for wxHtmlAppletCell +***************************************************************************/ +class wxHtmlAppletCell : public wxHtmlCell +{ +public: + wxHtmlAppletCell(wxWindow *wnd, int w = 0); + virtual ~wxHtmlAppletCell(); + virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2); + virtual void DrawInvisible(wxDC& dc, int x, int y); + virtual void Layout(int w); + +protected: + wxWindow* m_Wnd; + // width float is used in adjustWidth (it is in percents) +}; + #endif // __WX_APPLET_WINDOW_H