diff --git a/src/kits/interface/TextInput.cpp b/src/kits/interface/TextInput.cpp index 4f3d5ada5c..a86f186913 100644 --- a/src/kits/interface/TextInput.cpp +++ b/src/kits/interface/TextInput.cpp @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------ -// Copyright (c) 2001-2002, OpenBeOS +// Copyright (c) 2001-2004, Haiku, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), @@ -20,34 +20,24 @@ // DEALINGS IN THE SOFTWARE. // // File Name: TextInput.cpp -// Author: Frans van Nispen (xlr8@tref.nl) +// Authors: Frans van Nispen (xlr8@tref.nl) +// Marc Flerackers (mflerackers@androme.be) // Description: The BTextView derivative owned by an instance of // BTextControl. //------------------------------------------------------------------------------ - -// Standard Includes ----------------------------------------------------------- #include #include #include -// System Includes ------------------------------------------------------------- #include -#include -#include #include +#include #include +#include -// Project Includes ------------------------------------------------------------ - -// Local Includes -------------------------------------------------------------- #include "TextInput.h" -// Local Defines --------------------------------------------------------------- -// Globals --------------------------------------------------------------------- - - -//------------------------------------------------------------------------------ _BTextInput_::_BTextInput_(BRect frame, BRect textRect, uint32 resizeMask, uint32 flags) : BTextView(frame, "_input_", textRect, resizeMask, flags), @@ -56,7 +46,8 @@ _BTextInput_::_BTextInput_(BRect frame, BRect textRect, uint32 resizeMask, { MakeResizable(true); } -//------------------------------------------------------------------------------ + + _BTextInput_::_BTextInput_(BMessage *archive) : BTextView(archive), fPreviousText(NULL), @@ -64,43 +55,49 @@ _BTextInput_::_BTextInput_(BMessage *archive) { MakeResizable(true); } -//------------------------------------------------------------------------------ + + _BTextInput_::~_BTextInput_() { - if (fPreviousText) - free(fPreviousText); + free(fPreviousText); } -//------------------------------------------------------------------------------ -BArchivable *_BTextInput_::Instantiate(BMessage *archive) + + +BArchivable * +_BTextInput_::Instantiate(BMessage *archive) { if (validate_instantiation(archive, "_BTextInput_")) return new _BTextInput_(archive); else return NULL; } -//------------------------------------------------------------------------------ -status_t _BTextInput_::Archive(BMessage *data, bool deep) const + + +status_t +_BTextInput_::Archive(BMessage *data, bool deep) const { return BTextView::Archive(data, true); } -//------------------------------------------------------------------------------ -void _BTextInput_::FrameResized(float width, float height) + + +void +_BTextInput_::FrameResized(float width, float height) { BTextView::FrameResized(width, height); AlignTextRect(); } -//------------------------------------------------------------------------------ -void _BTextInput_::KeyDown(const char* bytes, int32 numBytes) + + +void +_BTextInput_::KeyDown(const char* bytes, int32 numBytes) { - switch (*bytes) - { - case B_ENTER: + switch (*bytes) { + case B_ENTER: { if (!TextControl()->IsEnabled()) break; - if(strcmp(Text(), fPreviousText) != 0) - { + if(strcmp(Text(), fPreviousText) != 0) { TextControl()->Invoke(); free(fPreviousText); fPreviousText = strdup(Text()); @@ -116,32 +113,31 @@ void _BTextInput_::KeyDown(const char* bytes, int32 numBytes) default: BTextView::KeyDown(bytes, numBytes); + break; } } -//------------------------------------------------------------------------------ -void _BTextInput_::MakeFocus(bool state) + + +void +_BTextInput_::MakeFocus(bool state) { if (state == IsFocus()) return; BTextView::MakeFocus(state); - if (state) - { + if (state) { SetInitialText(); fBool = true; - if (Window()) - { - BMessage *msg = Window()->CurrentMessage(); + if (Window()) { + BMessage *message = Window()->CurrentMessage(); - if (msg && msg->what == B_KEY_DOWN) + if (message && message->what == B_KEY_DOWN) SelectAll(); } - } - else - { + } else { if (strcmp(Text(), fPreviousText) != 0) TextControl()->Invoke(); @@ -149,33 +145,32 @@ void _BTextInput_::MakeFocus(bool state) fPreviousText = NULL; fBool = false; - if (Window()) - { - BMessage *msg = Window()->CurrentMessage(); + if (Window()) { + BMessage *message = Window()->CurrentMessage(); - if (msg && msg->what == B_MOUSE_DOWN) - { + if (message && message->what == B_MOUSE_DOWN) Select(0, 0); - } } } - if (Window()) - { + if (Window()) { Draw(Bounds()); Flush(); } } -//------------------------------------------------------------------------------ -void _BTextInput_::AlignTextRect() + + +void +_BTextInput_::AlignTextRect() { // TODO } -//------------------------------------------------------------------------------ -void _BTextInput_::SetInitialText() + + +void +_BTextInput_::SetInitialText() { - if (fPreviousText) - { + if (fPreviousText) { free(fPreviousText); fPreviousText = NULL; } @@ -183,24 +178,26 @@ void _BTextInput_::SetInitialText() if (Text()) fPreviousText = strdup(Text()); } -//------------------------------------------------------------------------------ -void _BTextInput_::Paste(BClipboard *clipboard) + + +void +_BTextInput_::Paste(BClipboard *clipboard) { BTextView::Paste(clipboard); Invalidate(); } -//------------------------------------------------------------------------------ -void _BTextInput_::InsertText(const char *inText, int32 inLength, + + +void +_BTextInput_::InsertText(const char *inText, int32 inLength, int32 inOffset, const text_run_array *inRuns) { char *buffer = NULL; - if (strpbrk(inText, "\r\n") && inLength <= 1024) - { - buffer = (char*)malloc(inLength); + if (strpbrk(inText, "\r\n") && inLength <= 1024) { + buffer = (char *)malloc(inLength); - if (buffer) - { + if (buffer) { strcpy(buffer, inText); for (int32 i = 0; i < inLength; i++) @@ -215,30 +212,30 @@ void _BTextInput_::InsertText(const char *inText, int32 inLength, TextControl()->InvokeNotify(TextControl()->ModificationMessage(), B_CONTROL_MODIFIED); - if (buffer) - free(buffer); + free(buffer); } -//------------------------------------------------------------------------------ -void _BTextInput_::DeleteText(int32 fromOffset, int32 toOffset) + + +void +_BTextInput_::DeleteText(int32 fromOffset, int32 toOffset) { BTextView::DeleteText(fromOffset, toOffset); TextControl()->InvokeNotify(TextControl()->ModificationMessage(), B_CONTROL_MODIFIED); } -//------------------------------------------------------------------------------ -BTextControl *_BTextInput_::TextControl() + + +BTextControl * +_BTextInput_::TextControl() { - BTextControl *textControl; + BTextControl *textControl = NULL; if (Parent()) textControl = dynamic_cast(Parent()); - else - textControl = NULL; if (!textControl) debugger("_BTextInput_ should have a BTextControl as parent"); return textControl; } -//------------------------------------------------------------------------------