This is the full header of BTextControl

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3583 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Marc Flerackers
2003-06-20 10:09:19 +00:00
parent ce189e5c0b
commit 12c3dcc26d
+79 -71
View File
@@ -19,10 +19,11 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
// File Name: TextControl.h // File Name: TextControl.cpp
// Author: Frans van Nispen ([email protected]) // Author: Frans van Nispen ([email protected])
// Description: BTextControl displays text that can act like a control. // Description: BTextControl displays text that can act like a control.
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
#ifndef _TEXT_CONTROL_H #ifndef _TEXT_CONTROL_H
#define _TEXT_CONTROL_H #define _TEXT_CONTROL_H
@@ -31,8 +32,7 @@
// System Includes ------------------------------------------------------------- // System Includes -------------------------------------------------------------
#include <BeBuild.h> #include <BeBuild.h>
#include <Control.h> #include <Control.h>
#include <InterfaceDefs.h> #include <TextView.h> /* For convenience */
#include <TextView.h> // For convenience
// Project Includes ------------------------------------------------------------ // Project Includes ------------------------------------------------------------
@@ -42,99 +42,108 @@
// Globals --------------------------------------------------------------------- // Globals ---------------------------------------------------------------------
class _BTextInput_; class _BTextInput_;
// BTextControl class ----------------------------------------------------------- // BTextControl class ----------------------------------------------------------
class BTextControl : public BControl { class BTextControl : public BControl {
public: public:
BTextControl(BRect frame, const char* name, BTextControl(BRect frame,
const char* label, const char *name,
const char* initial_text, BMessage* message, const char *label,
uint32 rmask = B_FOLLOW_LEFT | B_FOLLOW_TOP, const char *initial_text,
uint32 flags = B_WILL_DRAW | B_NAVIGABLE); BMessage *message,
virtual ~BTextControl(); uint32 rmask = B_FOLLOW_LEFT | B_FOLLOW_TOP,
BTextControl(BMessage* data); uint32 flags = B_WILL_DRAW | B_NAVIGABLE);
static BArchivable *Instantiate(BMessage* data); virtual ~BTextControl();
virtual status_t Archive(BMessage* data, bool deep = true) const;
virtual void SetText(const char* text); BTextControl(BMessage *data);
const char* Text() const; static BArchivable *Instantiate(BMessage *data);
virtual status_t Archive(BMessage *data, bool deep = true) const;
virtual void SetValue(int32 value); virtual void SetText(const char *text);
virtual status_t Invoke(BMessage* msg = NULL); const char *Text() const;
BTextView* TextView() const; virtual void SetValue(int32 value);
virtual status_t Invoke(BMessage *msg = NULL);
virtual void SetModificationMessage(BMessage* message); BTextView *TextView() const;
BMessage* ModificationMessage() const;
virtual void SetAlignment(alignment label, alignment text); virtual void SetModificationMessage(BMessage *message);
void GetAlignment(alignment* label, alignment* text) const; BMessage *ModificationMessage() const;
virtual void SetDivider(float dividing_line);
float Divider() const;
virtual void Draw(BRect updateRect); virtual void SetAlignment(alignment label, alignment text);
virtual void MouseDown(BPoint where); void GetAlignment(alignment *label, alignment *text) const;
virtual void AttachedToWindow(); virtual void SetDivider(float dividing_line);
virtual void MakeFocus(bool focusState = true); float Divider() const;
virtual void SetEnabled(bool state);
virtual void FrameMoved(BPoint new_position); virtual void Draw(BRect updateRect);
virtual void FrameResized(float new_width, float new_height); virtual void MouseDown(BPoint where);
virtual void WindowActivated(bool active); virtual void AttachedToWindow();
virtual void MakeFocus(bool focusState = true);
virtual void SetEnabled(bool state);
virtual void FrameMoved(BPoint new_position);
virtual void FrameResized(float new_width, float new_height);
virtual void WindowActivated(bool active);
virtual void GetPreferredSize(float* width, float* height); virtual void GetPreferredSize(float *width, float *height);
virtual void ResizeToPreferred(); virtual void ResizeToPreferred();
virtual void MessageReceived(BMessage* msg); virtual void MessageReceived(BMessage *msg);
virtual BHandler *ResolveSpecifier(BMessage* msg, int32 index, virtual BHandler *ResolveSpecifier(BMessage *msg,
BMessage* specifier, int32 form, int32 index,
const char* property); BMessage *specifier,
int32 form,
const char *property);
virtual void MouseUp(BPoint pt); virtual void MouseUp(BPoint pt);
virtual void MouseMoved(BPoint pt, uint32 code, virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg);
const BMessage* msg); virtual void DetachedFromWindow();
virtual void DetachedFromWindow();
virtual void AllAttached(); virtual void AllAttached();
virtual void AllDetached(); virtual void AllDetached();
virtual status_t GetSupportedSuites(BMessage* data); virtual status_t GetSupportedSuites(BMessage *data);
virtual void SetFlags(uint32 flags); virtual void SetFlags(uint32 flags);
// Private or reserved ---------------------------------------------------------
virtual status_t Perform(perform_code d, void* arg); /*----- Private or reserved -----------------------------------------*/
virtual status_t Perform(perform_code d, void *arg);
private: private:
friend class _BTextInput_; friend class _BTextInput_;
virtual void _ReservedTextControl1();
virtual void _ReservedTextControl2();
virtual void _ReservedTextControl3();
virtual void _ReservedTextControl4();
BTextControl& operator=(const BTextControl&); virtual void _ReservedTextControl1();
virtual void _ReservedTextControl2();
virtual void _ReservedTextControl3();
virtual void _ReservedTextControl4();
// this one is not defined, so I guess I am on my own here BTextControl &operator=(const BTextControl &);
_BTextInput_* fText;
char* fUnusedCharP; //fLabel; // this is in BControl void CommitValue();
BMessage* fModificationMessage; void InitData(const char *label,
alignment fLabelAlign; const char *initial_text,
float fDivider; BMessage *data = NULL);
// uint16 fPrevWidth;
// uint16 fPrevHeight; _BTextInput_ *fText;
uint32 _reserved[4]; char *fLabel;
BMessage *fModificationMessage;
alignment fLabelAlign;
float fDivider;
uint16 fPrevWidth;
uint16 fPrevHeight;
uint32 _reserved[3]; /* was 4 */
#if !_PR3_COMPATIBLE_ #if !_PR3_COMPATIBLE_
uint32 _more_reserved[4]; uint32 _more_reserved[4];
#endif #endif
bool fClean; bool fClean;
bool fSkipSetFlags; // will use this for SHIFT-TAB bool fSkipSetFlags;
bool fUnusedBool1; bool fUnusedBool1;
bool fUnusedBool2; bool fUnusedBool2;
}; };
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
#endif // _TEXTCONTROL_H #endif // _TEXT_CONTROL_H
/* /*
* $Log $ * $Log $
@@ -142,4 +151,3 @@ private:
* $Id $ * $Id $
* *
*/ */