mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-05 08:35:26 +00:00
109 lines
2.8 KiB
C++
109 lines
2.8 KiB
C++
|
|
#include <LWindow.h>
|
|
#include <LListener.h>
|
|
|
|
#ifndef nsError_h
|
|
#include "nsError.h"
|
|
#endif
|
|
|
|
#ifndef nsCom_h__
|
|
#include "nsCom.h"
|
|
#endif
|
|
|
|
#ifndef nsCOMPtr_h___
|
|
#include "nsCOMPtr.h"
|
|
#endif
|
|
|
|
#ifndef nscore_h___
|
|
#include "nscore.h"
|
|
#endif
|
|
|
|
#ifndef nsIWidget_h__
|
|
#include "nsIWidget.h"
|
|
#endif
|
|
|
|
class CBrowserShell;
|
|
class CWebBrowserChrome;
|
|
class LEditText;
|
|
class LStaticText;
|
|
class CThrobber;
|
|
class LBevelButton;
|
|
class nsIDocumentLoader;
|
|
class nsIURI;
|
|
class nsIChannel;
|
|
|
|
// CBrowserWindow:
|
|
// A simple browser window that hooks up a CBrowserShell to a minimal set of controls
|
|
// (Back, Forward and Stop buttons + URL field + status bar).
|
|
|
|
|
|
class CBrowserWindow : public LWindow,
|
|
public LListener,
|
|
public LBroadcaster
|
|
{
|
|
private:
|
|
typedef LWindow Inherited;
|
|
|
|
friend class CWebBrowserChrome;
|
|
|
|
public:
|
|
enum { class_ID = FOUR_CHAR_CODE('BroW') };
|
|
|
|
CBrowserWindow();
|
|
CBrowserWindow(LStream* inStream);
|
|
|
|
virtual ~CBrowserWindow();
|
|
|
|
|
|
virtual void FinishCreate();
|
|
virtual void FinishCreateSelf();
|
|
virtual void ResizeFrameBy(SInt16 inWidthDelta,
|
|
SInt16 inHeightDelta,
|
|
Boolean inRefresh);
|
|
virtual void ShowSelf();
|
|
|
|
virtual void ListenToMessage(MessageT inMessage,
|
|
void* ioParam);
|
|
|
|
virtual Boolean ObeyCommand(CommandT inCommand,
|
|
void *ioParam);
|
|
|
|
virtual void FindCommandStatus(PP_PowerPlant::CommandT inCommand,
|
|
Boolean &outEnabled,
|
|
Boolean &outUsesMark,
|
|
PP_PowerPlant::Char16 &outMark,
|
|
Str255 outName);
|
|
|
|
NS_METHOD GetWidget(nsIWidget** aWidget);
|
|
protected:
|
|
|
|
// Called by both constructors
|
|
NS_METHOD CommonConstruct();
|
|
|
|
// -----------------------------------
|
|
// Methods called by CWebBrowserChrome
|
|
// -----------------------------------
|
|
|
|
NS_METHOD SetStatus(const PRUnichar* aStatus);
|
|
NS_METHOD SetOverLink(const PRUnichar* aStatus)
|
|
{ return SetStatus(aStatus); }
|
|
|
|
NS_METHOD SetLocation(const nsString& aLocation);
|
|
|
|
NS_METHOD OnStatusNetStart(nsIChannel *aChannel);
|
|
NS_METHOD OnStatusNetStop(nsIChannel *aChannel);
|
|
NS_METHOD OnStatusDNS(nsIChannel *aChannel);
|
|
|
|
protected:
|
|
nsCOMPtr<nsIWidget> mWindow;
|
|
|
|
CBrowserShell* mBrowserShell;
|
|
CWebBrowserChrome* mBrowserChrome;
|
|
LEditText* mURLField;
|
|
LStaticText* mStatusBar;
|
|
CThrobber* mThrobber;
|
|
LBevelButton *mBackButton, *mForwardButton, *mStopButton;
|
|
};
|
|
|
|
|