diff --git a/headers/os/interface/ChannelControl.h b/headers/os/interface/ChannelControl.h index d310bbbe80..c79bec4b44 100644 --- a/headers/os/interface/ChannelControl.h +++ b/headers/os/interface/ChannelControl.h @@ -1,221 +1,171 @@ -/******************************************************************************* -/ -/ File: ChannelControl.h -/ -/ Description: BChannelControl is the base class for controls that -/ have several independent values, with minima and maxima. -/ -/ Copyright 1998-99, Be Incorporated, All Rights Reserved -/ -*******************************************************************************/ - -#if !defined(_CHANNEL_CONTROL_H) +/* + * Copyright (C) 2008 Haiku, Inc. All rights reserved. + * Distributed under the terms of the MIT/X11 license. + */ +#ifndef _CHANNEL_CONTROL_H #define _CHANNEL_CONTROL_H +//! BChannelControl is the base class for controls that have several +// independent values, with minima and maxima. + #include #include -class BChannelControl : - public BControl -{ +class BChannelControl : public BControl { public: - BChannelControl( - BRect frame, - const char * name, - const char * label, - BMessage * model, - int32 channel_count = 1, - uint32 resize = B_FOLLOW_LEFT | B_FOLLOW_TOP, - uint32 flags = B_WILL_DRAW); - BChannelControl( - BMessage * from); -virtual ~BChannelControl(); -virtual status_t Archive( - BMessage * into, - bool deep = true) const; + BChannelControl(BRect frame, const char* name, + const char* label, BMessage* model, + int32 channelCount = 1, + uint32 resizeFlags + = B_FOLLOW_LEFT | B_FOLLOW_TOP, + uint32 viewFlags = B_WILL_DRAW); + BChannelControl(BMessage* archive); + virtual ~BChannelControl(); -virtual void Draw( - BRect area) = 0; -virtual void MouseDown( - BPoint where) = 0; -virtual void KeyDown( - const char * bytes, - int32 size) = 0; + virtual status_t Archive(BMessage* into, bool deep = true) const; -virtual void FrameResized( - float width, - float height); -virtual void SetFont( - const BFont * font, + virtual void Draw(BRect updateRect) = 0; + virtual void MouseDown(BPoint where) = 0; + virtual void KeyDown(const char* bytes, int32 size) = 0; + + virtual void FrameResized(float width, float height); + virtual void SetFont(const BFont* font, uint32 mask = B_FONT_ALL); -virtual void AttachedToWindow(); -virtual void DetachedFromWindow(); -virtual void ResizeToPreferred(); -virtual void GetPreferredSize( - float * width, - float * height) = 0; -virtual void MessageReceived( - BMessage * message); + virtual void AttachedToWindow(); + virtual void DetachedFromWindow(); + virtual void ResizeToPreferred(); + virtual void GetPreferredSize(float* width, + float* height) = 0; -virtual BHandler *ResolveSpecifier(BMessage *msg, - int32 index, - BMessage *specifier, - int32 form, - const char *property); -virtual status_t GetSupportedSuites(BMessage *data); + virtual void MessageReceived(BMessage* message); -virtual void SetModificationMessage( - BMessage *message); - BMessage *ModificationMessage() const; + virtual BHandler* ResolveSpecifier(BMessage* message, int32 index, + BMessage* specifier, int32 form, + const char* property); + virtual status_t GetSupportedSuites(BMessage* data); + + virtual void SetModificationMessage(BMessage* message); + BMessage* ModificationMessage() const; -virtual status_t Invoke(BMessage *msg = NULL); + virtual status_t Invoke(BMessage* withMessage = NULL); -// Perform a full-fledged channel invocation. These methods are -// just like Invoke() and InvokeNotify(), but include information -// about all of the channels in the control. -virtual status_t InvokeChannel(BMessage *msg = NULL, - int32 from_channel = 0, - int32 channel_count = -1, - const bool* in_mask = NULL); - status_t InvokeNotifyChannel(BMessage *msg = NULL, - uint32 kind = B_CONTROL_INVOKED, - int32 from_channel = 0, - int32 channel_count = -1, - const bool* in_mask = NULL); + //! These methods are similar to Invoke() Invoke() and InvokeNotify(), but + // include additional information about all of the channels in the control. + virtual status_t InvokeChannel(BMessage* message = NULL, + int32 fromChannel = 0, + int32 channelCount = -1, + const bool* _mask = NULL); + status_t InvokeNotifyChannel(BMessage* message = NULL, + uint32 kind = B_CONTROL_INVOKED, + int32 fromChannel = 0, + int32 channelCount = -1, + const bool* _mask = NULL); -virtual void SetValue( /* SetCurrentChannel() determines which channel */ - int32 value); -virtual status_t SetCurrentChannel( - int32 channel); - int32 CurrentChannel() const; + virtual void SetValue(int32 value); + // SetCurrentChannel() determines which channel + virtual status_t SetCurrentChannel(int32 index); + int32 CurrentChannel() const; -virtual int32 CountChannels() const; -virtual int32 MaxChannelCount() const = 0; -virtual status_t SetChannelCount( - int32 channel_count); - int32 ValueFor( - int32 channel) const; -virtual int32 GetValue( - int32 * out_values, - int32 from_channel, - int32 channel_count) const; - status_t SetValueFor( - int32 channel, - int32 value); -virtual status_t SetValue( - int32 from_channel, - int32 channel_count, - const int32 * in_values); - status_t SetAllValue( - int32 values); - status_t SetLimitsFor( - int32 channel, - int32 minimum, + virtual int32 CountChannels() const; + virtual int32 MaxChannelCount() const = 0; + virtual status_t SetChannelCount(int32 count); + int32 ValueFor(int32 channel) const; + virtual int32 GetValue(int32* _values, int32 fromChannel, + int32 channelCount) const; + status_t SetValueFor(int32 channel, int32 value); + virtual status_t SetValue(int32 fromChannel, int32 channelCount, + const int32* values); + status_t SetAllValue(int32 values); + status_t SetLimitsFor(int32 channel, int32 minimum, int32 maximum); - status_t GetLimitsFor( - int32 channel, - int32 * minimum, - int32 * maximum) const ; -virtual status_t SetLimitsFor( - int32 from_channel, - int32 channel_count, - const int32 * minimum, - const int32 * maximum); -virtual status_t GetLimitsFor( - int32 from_channel, - int32 channel_count, - int32 * minimum, - int32 * maximum) const; - status_t SetLimits( - int32 minimum, - int32 maximum); - status_t GetLimits( - int32 * outMinimum, - int32 * outMaximum) const; + status_t GetLimitsFor(int32 channel, int32* _minimum, + int32* _maximum) const ; + virtual status_t SetLimitsFor(int32 fromChannel, + int32 channelCount, const int32* minima, + const int32* maxima); + virtual status_t GetLimitsFor(int32 fromChannel, + int32 channelCount, int32* minima, + int32* maxima) const; + status_t SetLimits(int32 minimum, int32 maximum); + status_t GetLimits(int32* _minimum, + int32* _maximum) const; -virtual bool SupportsIndividualLimits() const = 0; -virtual status_t SetLimitLabels( - const char * min_label, - const char * max_label); - const char * MinLimitLabel() const; - const char * MaxLimitLabel() const; -virtual status_t SetLimitLabelsFor( - int32 channel, - const char * minLabel, - const char * maxLabel); -virtual status_t SetLimitLabelsFor( - int32 from_channel, - int32 channel_count, - const char * minLabel, - const char * maxLabel); - const char * MinLimitLabelFor( - int32 channel) const; - const char * MaxLimitLabelFor( - int32 channel) const; + virtual bool SupportsIndividualLimits() const = 0; + virtual status_t SetLimitLabels(const char* minLabel, + const char* maxLabel); + const char* MinLimitLabel() const; + const char* MaxLimitLabel() const; + virtual status_t SetLimitLabelsFor(int32 channel, + const char* minLabel, const char* maxLabel); + virtual status_t SetLimitLabelsFor(int32 fromChannel, + int32 channelCount, const char* minLabel, + const char* maxLabel); + const char* MinLimitLabelFor(int32 channel) const; + const char* MaxLimitLabelFor(int32 channel) const; private: + // Forbidden (and unimplemented) + BChannelControl(const BChannelControl& other); + BChannelControl& operator=(const BChannelControl& other); - BChannelControl( /* unimplemented */ - const BChannelControl &); - BChannelControl & operator=( /* unimplemented */ - const BChannelControl &); -virtual void _Reserverd_ChannelControl_0(void *, ...); -virtual void _Reserverd_ChannelControl_1(void *, ...); -virtual void _Reserverd_ChannelControl_2(void *, ...); -virtual void _Reserverd_ChannelControl_3(void *, ...); -virtual void _Reserverd_ChannelControl_4(void *, ...); -virtual void _Reserverd_ChannelControl_5(void *, ...); -virtual void _Reserverd_ChannelControl_6(void *, ...); -virtual void _Reserverd_ChannelControl_7(void *, ...); -virtual void _Reserverd_ChannelControl_8(void *, ...); -virtual void _Reserverd_ChannelControl_9(void *, ...); -virtual void _Reserverd_ChannelControl_10(void *, ...); -virtual void _Reserverd_ChannelControl_11(void *, ...); + virtual void _Reserverd_ChannelControl_0(void *, ...); + virtual void _Reserverd_ChannelControl_1(void *, ...); + virtual void _Reserverd_ChannelControl_2(void *, ...); + virtual void _Reserverd_ChannelControl_3(void *, ...); + virtual void _Reserverd_ChannelControl_4(void *, ...); + virtual void _Reserverd_ChannelControl_5(void *, ...); + virtual void _Reserverd_ChannelControl_6(void *, ...); + virtual void _Reserverd_ChannelControl_7(void *, ...); + virtual void _Reserverd_ChannelControl_8(void *, ...); + virtual void _Reserverd_ChannelControl_9(void *, ...); + virtual void _Reserverd_ChannelControl_10(void *, ...); + virtual void _Reserverd_ChannelControl_11(void *, ...); protected: - - inline int32 * const & MinLimitList() const; - inline int32 * const & MaxLimitList() const; - inline int32 * const & ValueList() const; + inline int32* const& MinLimitList() const; + inline int32* const& MaxLimitList() const; + inline int32* const& ValueList() const; private: + int32 fChannelCount; + int32 fCurrentChannel; + int32* fChannelMin; + int32* fChannelMax; + int32* fChannelValues; - int32 fChannelCount; - int32 fCurrentChannel; - int32 * fChannelMin; - int32 * fChannelMax; - int32 * fChannelValues; - - BString fMinLabel; - BString fMaxLabel; - - void * fMultiLabels; - - BMessage * fModificationMsg; - - uint32 _reserved_[15]; + BString fMinLabel; + BString fMaxLabel; - status_t StuffValues( - int32 from_channel, - int32 channel_count, - const int32 * in_values); + void* fMultiLabels; + + BMessage* fModificationMsg; + + uint32 _reserved_[15]; + + status_t StuffValues(int32 fromChannel, + int32 channelCount, const int32* values); }; -inline int32 * const & BChannelControl::MinLimitList() const + +inline int32* const& +BChannelControl::MinLimitList() const { return fChannelMin; } -inline int32 * const & BChannelControl::MaxLimitList() const + +inline int32* const& +BChannelControl::MaxLimitList() const { return fChannelMax; } -inline int32 * const & BChannelControl::ValueList() const + +inline int32* const& +BChannelControl::ValueList() const { return fChannelValues; } -#endif /* _CHANNEL_CONTROL_H */ - +#endif // _CHANNEL_CONTROL_H