home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.0 (the "NPL"); you may not use this file except in
- * compliance with the NPL. You may obtain a copy of the NPL at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the NPL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- * for the specific language governing rights and limitations under the
- * NPL.
- *
- * The Initial Developer of this code under the NPL is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All Rights
- * Reserved.
- */
-
- #ifndef __Context_Stubs_H
- // Avoid include redundancy
- //
- #define __Context_Stubs_H
-
- // Purpose: Create a stub context class that will allow deriving contexts
- // from the abstract context easier.
- // Only derive from the stub context iff you context has a very limited
- // implementation (such as no or little UI, no CDC, etc....).
-
- // Required Includes
- //
- #include "cxabstra.h"
-
- class CStubsCX : public CAbstractCX {
- ULONG m_ulRefCount;
- LPUNKNOWN m_pOuterUnk;
-
- public:
- // IUnknown Interface
- STDMETHODIMP QueryInterface(REFIID,LPVOID *);
- STDMETHODIMP_(ULONG) AddRef(void);
- STDMETHODIMP_(ULONG) Release(void);
-
- // IContext Interface
-
- // All this context does is define empty member functions
- // from the abstract pure virtual class.
- #define FE_DEFINE(funkage, returns, args) virtual returns funkage args;
- #include "mk_cx_fn.h"
-
- public:
- // Other overridables we must define as stubs.
- virtual void GetUrlExitRoutine(URL_Struct *pUrl, int iStatus, MWContext *pContext);
- virtual void TextTranslationExitRoutine(PrintSetup *pTextFE);
-
- #ifdef LAYERS
- virtual BOOL HandleLayerEvent(CL_Layer * pLayer, CL_Event * pEvent)
- { return FALSE; }
- virtual BOOL HandleEmbedEvent(LO_EmbedStruct *embed, CL_Event * pEvent)
- { return FALSE; }
- #endif
-
- virtual void UpdateStopState(MWContext *pContext);
-
- public:
- // Construction/destruction (sets context type).
- CStubsCX();
- CStubsCX(ContextType ctMyType, MWContextType XPType);
- CStubsCX(LPUNKNOWN pOuterUnk);
- CStubsCX(LPUNKNOWN pOuterUnk, ContextType ctMyType, MWContextType XPType);
- ~CStubsCX();
- };
-
- class CFrameCX: public CStubsCX {
- private:
- CFrameGlue *m_pFrame;
-
- public:
- CFrameCX(ContextType ctMyType, CFrameGlue *pFrame);
- ~CFrameCX();
-
- // Progress helpers.
- protected:
- int32 m_lOldPercent;
- public:
- int32 QueryProgressPercent();
- void SetProgressBarPercent(MWContext *pContext, int32 lPercent);
-
- void StartAnimation();
- void StopAnimation();
-
- void Progress(MWContext *pContext, const char *pMessage);
- void AllConnectionsComplete(MWContext *pContext);
-
- CWnd *GetDialogOwner() const;
-
- CFrameGlue *GetFrame() const { return m_pFrame; }
- };
-
- #endif // __Context_Stubs_H
-