| /* -*- Mode: C; tab-width: 4 -*- |
| * |
| * Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved. |
| * |
| * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef __EXPLORER_BAR__ |
| #define __EXPLORER_BAR__ |
| |
| #include "StdAfx.h" |
| |
| #include "ExplorerBarWindow.h" |
| #include "ExplorerPlugin.h" |
| |
| //=========================================================================================================================== |
| // ExplorerBar |
| //=========================================================================================================================== |
| |
| class ExplorerBar : public IDeskBand, |
| public IInputObject, |
| public IObjectWithSite, |
| public IPersistStream, |
| public IContextMenu |
| { |
| protected: |
| |
| DWORD mRefCount; |
| IInputObjectSite * mSite; |
| IWebBrowser2 * mWebBrowser; |
| HWND mParentWindow; |
| BOOL mFocus; |
| DWORD mViewMode; |
| DWORD mBandID; |
| ExplorerBarWindow mWindow; |
| |
| public: |
| |
| ExplorerBar( void ); |
| ~ExplorerBar( void ); |
| |
| // IUnknown methods |
| |
| STDMETHODIMP QueryInterface( REFIID inID, LPVOID *outResult ); |
| STDMETHODIMP_( DWORD ) AddRef( void ); |
| STDMETHODIMP_( DWORD ) Release( void ); |
| |
| // IOleWindow methods |
| |
| STDMETHOD( GetWindow ) ( HWND *outWindow ); |
| STDMETHOD( ContextSensitiveHelp ) ( BOOL inEnterMode ); |
| |
| // IDockingWindow methods |
| |
| STDMETHOD( ShowDW ) ( BOOL inShow ); |
| STDMETHOD( CloseDW ) ( DWORD inReserved ); |
| STDMETHOD( ResizeBorderDW ) ( LPCRECT inBorder, IUnknown *inPunkSite, BOOL inReserved ); |
| |
| // IDeskBand methods |
| |
| STDMETHOD( GetBandInfo ) ( DWORD inBandID, DWORD inViewMode, DESKBANDINFO *outInfo ); |
| |
| // IInputObject methods |
| |
| STDMETHOD( UIActivateIO ) ( BOOL inActivate, LPMSG inMsg ); |
| STDMETHOD( HasFocusIO ) ( void ); |
| STDMETHOD( TranslateAcceleratorIO ) ( LPMSG inMsg ); |
| |
| // IObjectWithSite methods |
| |
| STDMETHOD( SetSite ) ( IUnknown *inPunkSite ); |
| STDMETHOD( GetSite ) ( REFIID inID, LPVOID *outResult ); |
| |
| // IPersistStream methods |
| |
| STDMETHOD( GetClassID ) ( LPCLSID outClassID ); |
| STDMETHOD( IsDirty ) ( void ); |
| STDMETHOD( Load ) ( LPSTREAM inStream ); |
| STDMETHOD( Save ) ( LPSTREAM inStream, BOOL inClearDirty ); |
| STDMETHOD( GetSizeMax ) ( ULARGE_INTEGER *outSizeMax ); |
| |
| // IContextMenu methods |
| |
| STDMETHOD( QueryContextMenu ) ( HMENU hContextMenu, UINT iContextMenuFirstItem, UINT idCmdFirst, UINT idCmdLast, UINT uFlags ); |
| STDMETHOD( GetCommandString ) ( UINT_PTR idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax ); |
| STDMETHOD( InvokeCommand ) ( LPCMINVOKECOMMANDINFO lpici ); |
| |
| // Other |
| |
| OSStatus SetupWindow( void ); |
| OSStatus GoToURL( const CString &inURL ); |
| }; |
| |
| #endif // __EXPLORER_BAR__ |