Files
Mozilla/mozilla/embedding/browser/powerplant/source/CUrlField.cp
ccarlen%netscape.com 54c6894257 Bug 78498 - Carbonize PPEmbed. r=pinkerton/sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@101413 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-18 15:10:38 +00:00

85 lines
2.0 KiB
C++

#include "CUrlField.h"
#include <LString.h>
#include <PP_KeyCodes.h>
// CUrlField:
// A text edit field that broadcasts its PaneID on Return or Enter.
// ---------------------------------------------------------------------------
// ¥ CUrlField Default Constructor [public]
// ---------------------------------------------------------------------------
CUrlField::CUrlField()
{
}
// ---------------------------------------------------------------------------
// ¥ CUrlField Stream Constructor [public]
// ---------------------------------------------------------------------------
CUrlField::CUrlField(LStream* inStream)
: LEditText(inStream)
{
}
// ---------------------------------------------------------------------------
// ¥ ~CUrlField Destructor [public]
// ---------------------------------------------------------------------------
CUrlField::~CUrlField()
{
}
// ---------------------------------------------------------------------------
// ¥ HandleKeyPress
// ---------------------------------------------------------------------------
// Broadcast the paneID when the user hits Return or Enter
Boolean
CUrlField::HandleKeyPress(const EventRecord &inKeyEvent)
{
Boolean keyHandled = true;
SInt16 theChar = (SInt16) (inKeyEvent.message & charCodeMask);
if (theChar == char_Return || theChar == char_Enter)
{
Str255 urlString;
BroadcastMessage(GetPaneID(), (void*)GetDescriptor(urlString));
}
else
keyHandled = Inherited::HandleKeyPress(inKeyEvent);
return keyHandled;
}
// ---------------------------------------------------------------------------
// ¥ ClickSelf
// ---------------------------------------------------------------------------
// Select everything when a single click gives us the focus
void
CUrlField::ClickSelf(const SMouseDownEvent &inMouseDown)
{
Boolean wasTarget = IsTarget();
Inherited::ClickSelf(inMouseDown);
if (!wasTarget)
{
ControlEditTextSelectionRec selection;
GetSelection(selection);
if (selection.selStart == selection.selEnd)
SelectAll();
}
}