diff --git a/headers/os/interface/Control.h b/headers/os/interface/Control.h index 464e35dc02..2dea85f1a4 100644 --- a/headers/os/interface/Control.h +++ b/headers/os/interface/Control.h @@ -1,137 +1,99 @@ -//------------------------------------------------------------------------------ -// Copyright (c) 2001-2002, OpenBeOS -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// -// File Name: Control.h -// Author: Marc Flerackers (mflerackers@androme.be) -// Description: BControl is the base class for user-event handling objects. -//------------------------------------------------------------------------------ - -#ifndef _CONTROL_H +/* + * Copyright (c) 2001-2009, Haiku, Inc. All rights reserved. + * Distributed under the terms of the MIT license. + */ + #ifndef _CONTROL_H #define _CONTROL_H -// Standard Includes ----------------------------------------------------------- - -// System Includes ------------------------------------------------------------- -#include #include -#include /* For convenience */ +#include // For convenience #include -// Project Includes ------------------------------------------------------------ -// Local Includes -------------------------------------------------------------- - -// Local Defines --------------------------------------------------------------- enum { B_CONTROL_OFF = 0, B_CONTROL_ON = 1 }; -// Globals --------------------------------------------------------------------- - - class BWindow; -// BControl class -------------------------------------------------------------- + class BControl : public BView, public BInvoker { - public: - BControl(BRect frame, - const char *name, - const char *label, - BMessage *message, - uint32 resizingMode, - uint32 flags); - BControl(const char *name, - const char *label, - BMessage *message, - uint32 flags); -virtual ~BControl(); + BControl(BRect frame, const char* name, + const char* label, BMessage* message, + uint32 resizingMode, uint32 flags); + BControl(const char* name, const char* label, + BMessage* message, uint32 flags); + virtual ~BControl(); - BControl(BMessage *archive); -static BArchivable *Instantiate(BMessage *archive); -virtual status_t Archive(BMessage *archive, bool deep = true) const; + BControl(BMessage* archive); + static BArchivable* Instantiate(BMessage* archive); + virtual status_t Archive(BMessage* archive, + bool deep = true) const; -virtual void WindowActivated(bool active); -virtual void AttachedToWindow(); -virtual void MessageReceived(BMessage *message); -virtual void MakeFocus(bool focused = true); -virtual void KeyDown(const char *bytes, int32 numBytes); -virtual void MouseDown(BPoint point); -virtual void MouseUp(BPoint point); -virtual void MouseMoved(BPoint point, uint32 transit, const BMessage *message); -virtual void DetachedFromWindow(); + virtual void WindowActivated(bool active); -virtual void SetLabel(const char *string); - const char *Label() const; + virtual void AttachedToWindow(); + virtual void DetachedFromWindow(); + virtual void AllAttached(); + virtual void AllDetached(); -virtual void SetValue(int32 value); - int32 Value() const; + virtual void MessageReceived(BMessage* message); + virtual void MakeFocus(bool focused = true); -virtual void SetEnabled(bool enabled); - bool IsEnabled() const; + virtual void KeyDown(const char* bytes, int32 numBytes); + virtual void MouseDown(BPoint point); + virtual void MouseUp(BPoint point); + virtual void MouseMoved(BPoint point, uint32 transit, + const BMessage *message); -virtual void GetPreferredSize(float *width, float *height); -virtual void ResizeToPreferred(); + virtual void SetLabel(const char* string); + const char* Label() const; -virtual status_t Invoke(BMessage *message = NULL); -virtual BHandler *ResolveSpecifier(BMessage *message, - int32 index, - BMessage *specifier, - int32 what, - const char *property); -virtual status_t GetSupportedSuites(BMessage *message); + virtual void SetValue(int32 value); + int32 Value() const; -virtual void AllAttached(); -virtual void AllDetached(); + virtual void SetEnabled(bool enabled); + bool IsEnabled() const; -virtual status_t Perform(perform_code d, void *arg); + virtual void GetPreferredSize(float* _width, + float* _height); + virtual void ResizeToPreferred(); + + virtual status_t Invoke(BMessage* message = NULL); + virtual BHandler* ResolveSpecifier(BMessage* message, + int32 index, BMessage* specifier, + int32 what, const char* property); + virtual status_t GetSupportedSuites(BMessage* message); + + virtual status_t Perform(perform_code d, void* arg); protected: + bool IsFocusChanging() const; + bool IsTracking() const; + void SetTracking(bool state); - bool IsFocusChanging() const; - bool IsTracking() const; - void SetTracking(bool state); - - void SetValueNoUpdate(int32 value); + void SetValueNoUpdate(int32 value); private: + virtual void _ReservedControl1(); + virtual void _ReservedControl2(); + virtual void _ReservedControl3(); + virtual void _ReservedControl4(); -virtual void _ReservedControl1(); -virtual void _ReservedControl2(); -virtual void _ReservedControl3(); -virtual void _ReservedControl4(); + BControl& operator=(const BControl&); - BControl &operator=(const BControl &); + void InitData(BMessage* data = NULL); - void InitData(BMessage *data = NULL); + char* fLabel; + int32 fValue; + bool fEnabled; + bool fFocusChanging; + bool fTracking; + bool fWantsNav; - char *fLabel; - int32 fValue; - bool fEnabled; - bool fFocusChanging; - bool fTracking; - bool fWantsNav; - uint32 _reserved[4]; + uint32 _reserved[4]; }; -//------------------------------------------------------------------------------ #endif // _CONTROL_H diff --git a/src/kits/interface/Control.cpp b/src/kits/interface/Control.cpp index ac7c491c68..dd1df29374 100644 --- a/src/kits/interface/Control.cpp +++ b/src/kits/interface/Control.cpp @@ -162,6 +162,27 @@ BControl::AttachedToWindow() } +void +BControl::DetachedFromWindow() +{ + BView::DetachedFromWindow(); +} + + +void +BControl::AllAttached() +{ + BView::AllAttached(); +} + + +void +BControl::AllDetached() +{ + BView::AllDetached(); +} + + void BControl::MessageReceived(BMessage *message) { @@ -215,7 +236,7 @@ BControl::MessageReceived(BMessage *message) } } } - + if (handled) { message->SendReply(&reply); return; @@ -278,13 +299,6 @@ BControl::MouseMoved(BPoint point, uint32 transit, const BMessage *message) } -void -BControl::DetachedFromWindow() -{ - BView::DetachedFromWindow(); -} - - void BControl::SetLabel(const char *label) { @@ -442,20 +456,6 @@ BControl::GetSupportedSuites(BMessage *message) } -void -BControl::AllAttached() -{ - BView::AllAttached(); -} - - -void -BControl::AllDetached() -{ - BView::AllDetached(); -} - - status_t BControl::Perform(perform_code code, void* _data) {