1 /* -*- Mode: C; tab-width: 4 -*-
3 * Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 #ifndef __EXPLORER_BAR__
19 #define __EXPLORER_BAR__
23 #include "ExplorerBarWindow.h"
24 #include "ExplorerPlugin.h"
26 //===========================================================================================================================
28 //===========================================================================================================================
30 class ExplorerBar
: public IDeskBand
,
32 public IObjectWithSite
,
33 public IPersistStream
,
39 IInputObjectSite
* mSite
;
40 IWebBrowser2
* mWebBrowser
;
45 ExplorerBarWindow mWindow
;
54 STDMETHODIMP
QueryInterface( REFIID inID
, LPVOID
*outResult
);
55 STDMETHODIMP_( DWORD
) AddRef( void );
56 STDMETHODIMP_( DWORD
) Release( void );
60 STDMETHOD( GetWindow
) ( HWND
*outWindow
);
61 STDMETHOD( ContextSensitiveHelp
) ( BOOL inEnterMode
);
63 // IDockingWindow methods
65 STDMETHOD( ShowDW
) ( BOOL inShow
);
66 STDMETHOD( CloseDW
) ( DWORD inReserved
);
67 STDMETHOD( ResizeBorderDW
) ( LPCRECT inBorder
, IUnknown
*inPunkSite
, BOOL inReserved
);
71 STDMETHOD( GetBandInfo
) ( DWORD inBandID
, DWORD inViewMode
, DESKBANDINFO
*outInfo
);
73 // IInputObject methods
75 STDMETHOD( UIActivateIO
) ( BOOL inActivate
, LPMSG inMsg
);
76 STDMETHOD( HasFocusIO
) ( void );
77 STDMETHOD( TranslateAcceleratorIO
) ( LPMSG inMsg
);
79 // IObjectWithSite methods
81 STDMETHOD( SetSite
) ( IUnknown
*inPunkSite
);
82 STDMETHOD( GetSite
) ( REFIID inID
, LPVOID
*outResult
);
84 // IPersistStream methods
86 STDMETHOD( GetClassID
) ( LPCLSID outClassID
);
87 STDMETHOD( IsDirty
) ( void );
88 STDMETHOD( Load
) ( LPSTREAM inStream
);
89 STDMETHOD( Save
) ( LPSTREAM inStream
, BOOL inClearDirty
);
90 STDMETHOD( GetSizeMax
) ( ULARGE_INTEGER
*outSizeMax
);
92 // IContextMenu methods
94 STDMETHOD( QueryContextMenu
) ( HMENU hContextMenu
, UINT iContextMenuFirstItem
, UINT idCmdFirst
, UINT idCmdLast
, UINT uFlags
);
95 STDMETHOD( GetCommandString
) ( UINT_PTR idCmd
, UINT uType
, UINT
* pwReserved
, LPSTR pszName
, UINT cchMax
);
96 STDMETHOD( InvokeCommand
) ( LPCMINVOKECOMMANDINFO lpici
);
100 OSStatus
SetupWindow( void );
101 OSStatus
GoToURL( const CString
&inURL
);
104 #endif // __EXPLORER_BAR__