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__