diff --git a/bepascal/bepascal/be/interface/StatusBar.cpp b/bepascal/bepascal/be/interface/StatusBar.cpp new file mode 100644 index 0000000..f99835f --- /dev/null +++ b/bepascal/bepascal/be/interface/StatusBar.cpp @@ -0,0 +1,657 @@ +/* BePascal - A pascal wrapper around the BeOS API + Copyright (C) 2002 Olivier Coursiere + Eric Jourde + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef _STATUSBAR_CPP_ +#define _STATUSBAR_CPP_ +/*********************************************************************** + * AUTHOR: nobody + * FILE: StringView.cpp + * DATE: Mon Jan 13 21:52:29 2003 + * DESCR: + ***********************************************************************/ +#include "StatusBar.h" +#include "view.h" +#include + + +#if defined(__cplusplus) +extern "C" { +#endif + +#if defined(__cplusplus) +} +#endif + +class BPStatusBar : public BStatusBar, virtual BPView +{ + +public: + BPStatusBar(TPasObject PasObject, + BRect frame, + const char *name, + const char *label = NULL, + const char *trailing_label = NULL); + BPStatusBar(TPasObject PasObject,BMessage *data); + +//static BArchivable *Instantiate(BMessage *data); +//virtual status_t Archive(BMessage *data, bool deep = true) const; + +virtual void AttachedToWindow(); +virtual void MessageReceived(BMessage *msg); +virtual void Draw(BRect updateRect); +virtual void MouseDown(BPoint pt); +virtual void MouseUp(BPoint pt); +//virtual void WindowActivated(bool state); +virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg); +//virtual void DetachedFromWindow(); +virtual void FrameMoved(BPoint new_position); +virtual void FrameResized(float new_width, float new_height); + +virtual void AllAttached(); +virtual void AllDetached(); + +private: +}; + +BPStatusBar::BPStatusBar(TPasObject PasObject, + BRect frame, + const char *name, + const char *label = NULL, + const char *trailing_label = NULL) + :BStatusBar( + frame, + name, + label , + trailing_label ), + BPView(PasObject, BRect(0,0,0,0), name, 0, 0), + BPHandler(PasObject, name), + BPasObject(PasObject) +{ +} + +BPStatusBar::BPStatusBar(TPasObject PasObject,BMessage *data) + :BStatusBar(data), + BPView(PasObject, data), + BPHandler(PasObject, data), + BPasObject(PasObject) +{ +} + +void BPStatusBar::MessageReceived(BMessage *message) +{ + MessageReceived_hookCall(message); + BStatusBar::MessageReceived(message); +} + +void BPStatusBar::Draw(BRect updateRect) +{ + BStatusBar::Draw(updateRect); + Draw_hookCall(updateRect); +} + +void BPStatusBar::AttachedToWindow(void) +{ + BStatusBar::AttachedToWindow(); + AttachedToWindow_hookCall(); +} + + + +void BPStatusBar::AllAttached(void) +{ + BStatusBar::AllAttached(); +} + +void BPStatusBar::AllDetached(void) +{ + BStatusBar::AllDetached(); +} + + + +void BPStatusBar::FrameMoved(BPoint parentPoint) +{ + BStatusBar::FrameMoved(parentPoint); +} + +void BPStatusBar::FrameResized(float width, float height) +{ + BStatusBar::FrameResized(width, height); +} + + + + +void BPStatusBar::MouseDown(BPoint point) +{ + BStatusBar::MouseDown(point); +} + +void BPStatusBar::MouseMoved(BPoint point, uint32 transit, const BMessage *message) +{ + BStatusBar::MouseMoved(point, transit, message); +} + +void BPStatusBar::MouseUp(BPoint point) +{ + BStatusBar::MouseUp(point); +} + +#if defined(__cplusplus) +extern "C" { +#endif + + + + +/*********************************************************************** + * Method: BStatusBar::BStatusBar + * Params: BRect frame, const char *name, const char *label, const char *trailing_label + * Effects: + ***********************************************************************/ +TCPlusObject BStatusBar_Create(TPasObject PasObject, BRect frame, const char *name, const char *label, const char *trailing_label) +{ + return new BPStatusBar(PasObject, frame, name, label, trailing_label); +} + + +/*********************************************************************** + * Method: BStatusBar::BStatusBar + * Params: BMessage *data + * Effects: + ***********************************************************************/ +TCPlusObject BStatusBar_Create_1 +(TPasObject PasObject, BMessage *data) +{ + return new BPStatusBar(PasObject, data); +} + + +/*********************************************************************** + * Method: BStatusBar::~BStatusBar + * Params: + * Effects: + ***********************************************************************/ +void BStatusBar_Free(BStatusBar *StatusBar) +{ + delete StatusBar; +} + + +/*********************************************************************** + * Method: BStatusBar::Instantiate + * Params: BMessage *data + * Returns: BArchivable * + * Effects: + ***********************************************************************/ +BArchivable * +BStatusBar_Instantiate(BStatusBar *StatusBar, BMessage *data) +{ + return StatusBar->Instantiate(data); +} + + +/*********************************************************************** + * Method: BStatusBar::Archive + * Params: BMessage *data, bool deep + * Returns: status_t + * Effects: + ***********************************************************************/ +status_t +BStatusBar_Archive(BStatusBar *StatusBar, BMessage *data, bool deep) +{ + return StatusBar->Archive(data, deep); +} + + +/*********************************************************************** + * Method: BStatusBar::AttachedToWindow + * Params: + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_AttachedToWindow(BStatusBar *StatusBar) +{ + StatusBar->AttachedToWindow(); +} + + +/*********************************************************************** + * Method: BStatusBar::MessageReceived + * Params: BMessage *msg + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_MessageReceived(BStatusBar *StatusBar, BMessage *msg) +{ + StatusBar->MessageReceived(msg); +} + + +/*********************************************************************** + * Method: BStatusBar::Draw + * Params: BRect updateRect + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_Draw(BStatusBar *StatusBar, BRect updateRect) +{ + StatusBar->Draw(updateRect); +} + + +/*********************************************************************** + * Method: BStatusBar::SetBarColor + * Params: rgb_color color + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_SetBarColor(BStatusBar *StatusBar, rgb_color color) +{ + StatusBar->SetBarColor(color); +} + + +/*********************************************************************** + * Method: BStatusBar::SetBarHeight + * Params: float height + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_SetBarHeight(BStatusBar *StatusBar, float height) +{ + StatusBar->SetBarHeight(height); +} + + +/*********************************************************************** + * Method: BStatusBar::SetText + * Params: const char *str + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_SetText(BStatusBar *StatusBar, const char *str) +{ + StatusBar->SetText(str); +} + + +/*********************************************************************** + * Method: BStatusBar::SetTrailingText + * Params: const char *str + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_SetTrailingText(BStatusBar *StatusBar, const char *str) +{ + StatusBar->SetTrailingText(str); +} + + +/*********************************************************************** + * Method: BStatusBar::SetMaxValue + * Params: float max + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_SetMaxValue(BStatusBar *StatusBar, float max) +{ + StatusBar->SetMaxValue(max); +} + + +/*********************************************************************** + * Method: BStatusBar::Update + * Params: float delta, const char *main_text, const char *trailing_text + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_Update(BStatusBar *StatusBar, float delta, const char *main_text, const char *trailing_text) +{ + StatusBar->Update(delta, main_text, trailing_text); +} + + +/*********************************************************************** + * Method: BStatusBar::Reset + * Params: const char *label, const char *trailing_label + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_Reset(BStatusBar *StatusBar, const char *label, const char *trailing_label) +{ + StatusBar->Reset(label, trailing_label); +} + + +/*********************************************************************** + * Method: BStatusBar::CurrentValue + * Params: + * Returns: float + * Effects: + ***********************************************************************/ +float +BStatusBar_CurrentValue(BStatusBar *StatusBar) +{ + return StatusBar->CurrentValue(); +} + + +/*********************************************************************** + * Method: BStatusBar::MaxValue + * Params: + * Returns: float + * Effects: + ***********************************************************************/ +float +BStatusBar_MaxValue(BStatusBar *StatusBar) +{ + return StatusBar->MaxValue(); +} + + +/*********************************************************************** + * Method: BStatusBar::BarColor + * Params: + * Returns: rgb_color + * Effects: + ***********************************************************************/ +rgb_color +BStatusBar_BarColor(BStatusBar *StatusBar) +{ + return StatusBar->BarColor(); +} + + +/*********************************************************************** + * Method: BStatusBar::BarHeight + * Params: + * Returns: float + * Effects: + ***********************************************************************/ +float +BStatusBar_BarHeight(BStatusBar *StatusBar) +{ + return StatusBar->BarHeight(); +} + + +/*********************************************************************** + * Method: BStatusBar::Text + * Params: + * Returns: const char * + * Effects: + ***********************************************************************/ +const char * +BStatusBar_Text(BStatusBar *StatusBar) +{ + return StatusBar->Text(); +} + + +/*********************************************************************** + * Method: BStatusBar::TrailingText + * Params: + * Returns: const char * + * Effects: + ***********************************************************************/ +const char * +BStatusBar_TrailingText(BStatusBar *StatusBar) +{ + return StatusBar->TrailingText(); +} + + +/*********************************************************************** + * Method: BStatusBar::Label + * Params: + * Returns: const char * + * Effects: + ***********************************************************************/ +const char * +BStatusBar_Label(BStatusBar *StatusBar) +{ + return StatusBar->Label(); +} + + +/*********************************************************************** + * Method: BStatusBar::TrailingLabel + * Params: + * Returns: const char * + * Effects: + ***********************************************************************/ +const char * +BStatusBar_TrailingLabel(BStatusBar *StatusBar) +{ + return StatusBar->TrailingLabel(); +} + + +/*********************************************************************** + * Method: BStatusBar::MouseDown + * Params: BPoint pt + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_MouseDown(BStatusBar *StatusBar, BPoint pt) +{ + StatusBar->MouseDown(pt); +} + + +/*********************************************************************** + * Method: BStatusBar::MouseUp + * Params: BPoint pt + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_MouseUp(BStatusBar *StatusBar, BPoint pt) +{ + StatusBar->MouseUp(pt); +} + + +/*********************************************************************** + * Method: BStatusBar::WindowActivated + * Params: bool state + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_WindowActivated(BStatusBar *StatusBar, bool state) +{ + StatusBar->WindowActivated(state); +} + + +/*********************************************************************** + * Method: BStatusBar::MouseMoved + * Params: BPoint pt, uint32 code, const BMessage *msg + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_MouseMoved(BStatusBar *StatusBar, BPoint pt, uint32 code, const BMessage *msg) +{ + StatusBar->MouseMoved(pt, code, msg); +} + + +/*********************************************************************** + * Method: BStatusBar::DetachedFromWindow + * Params: + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_DetachedFromWindow(BStatusBar *StatusBar) +{ + StatusBar->DetachedFromWindow(); +} + + +/*********************************************************************** + * Method: BStatusBar::FrameMoved + * Params: BPoint new_position + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_FrameMoved(BStatusBar *StatusBar, BPoint new_position) +{ + StatusBar->FrameMoved(new_position); +} + + +/*********************************************************************** + * Method: BStatusBar::FrameResized + * Params: float new_width, float new_height + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_FrameResized(BStatusBar *StatusBar, float new_width, float new_height) +{ + StatusBar->FrameResized(new_width, new_height); +} + + +/*********************************************************************** + * Method: BStatusBar::ResolveSpecifier + * Params: BMessage *msg, int32 index, BMessage *specifier, int32 form, const char *property + * Returns: BHandler * + * Effects: + ***********************************************************************/ +BHandler * +BStatusBar_ResolveSpecifier(BStatusBar *StatusBar, BMessage *msg, int32 index, BMessage *specifier, int32 form, const char *property) +{ + return StatusBar->ResolveSpecifier(msg, index, specifier, form, property); +} + + +/*********************************************************************** + * Method: BStatusBar::ResizeToPreferred + * Params: + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_ResizeToPreferred(BStatusBar *StatusBar) +{ + StatusBar->ResizeToPreferred(); +} + + +/*********************************************************************** + * Method: BStatusBar::GetPreferredSize + * Params: float *width, float *height + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_GetPreferredSize(BStatusBar *StatusBar, float *width, float *height) +{ + StatusBar->GetPreferredSize(width, height); +} + + +/*********************************************************************** + * Method: BStatusBar::MakeFocus + * Params: bool state + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_MakeFocus(BStatusBar *StatusBar, bool state) +{ + StatusBar->MakeFocus(state); +} + + +/*********************************************************************** + * Method: BStatusBar::AllAttached + * Params: + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_AllAttached(BStatusBar *StatusBar) +{ + StatusBar->AllAttached(); +} + + +/*********************************************************************** + * Method: BStatusBar::AllDetached + * Params: + * Returns: void + * Effects: + ***********************************************************************/ +void +BStatusBar_AllDetached(BStatusBar *StatusBar) +{ + StatusBar->AllDetached(); +} + + +/*********************************************************************** + * Method: BStatusBar::GetSupportedSuites + * Params: BMessage *data + * Returns: status_t + * Effects: + ***********************************************************************/ +status_t +BStatusBar_GetSupportedSuites(BStatusBar *StatusBar, BMessage *data) +{ + return StatusBar->GetSupportedSuites(data); +} + + +/*********************************************************************** + * Method: BStatusBar::Perform + * Params: perform_code d, void *arg + * Returns: status_t + * Effects: + ***********************************************************************/ +status_t +BStatusBar_Perform(BStatusBar *StatusBar, perform_code d, void *arg) +{ + return StatusBar->Perform(d, arg); +} + + + +#if defined(__cplusplus) +} +#endif + +#endif /* _STATUSBAR_CPP_ */ diff --git a/bepascal/bepascal/be/interface/statusbar.pp b/bepascal/bepascal/be/interface/statusbar.pp new file mode 100644 index 0000000..022c388 --- /dev/null +++ b/bepascal/bepascal/be/interface/statusbar.pp @@ -0,0 +1,303 @@ +{ BePascal - A pascal wrapper around the BeOS API + Copyright (C) 2002 Olivier Coursiere + Eric Jourde + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +} +unit statusbar; + +interface + +uses + beobj, view, message, archivable, SupportDefs, rect, list, + handler, messenger,interfacedefs,font,graphicdefs; + +type + TStatusBar = class(TView) + private + public + constructor Create( frame : TRect; + name : pchar; + alabel : Pchar; + trailing_label : Pchar);virtual; + constructor Create(data : TMessage);virtual; + destructor Destroy;override; + function Instantiate(data : TMessage) : TArchivable; + function Archive(data : TMessage; deep : boolean) : TStatus_t; + procedure AttachedToWindow;override; + procedure MessageReceived(msg : TMessage);override; + procedure Draw(updateRect : TRect);override; + procedure SetBarColor(color : trgb_color); + procedure SetBarHeight(height : double); + procedure SetText(str : PChar); + procedure SetTrailingText(str : PChar); + procedure SetMaxValue(max : double); + procedure Update(delta : single; main_text : PChar; trailing_text : PChar); + procedure Reset(alabel : PChar; trailing_label : PChar); + function CurrentValue : double; + function MaxValue : double; + function BarColor : trgb_color; + function BarHeight : double; + function Text : PChar; + function TrailingText : PChar; + function GetLabel : PChar; + function TrailingLabel : PChar; + procedure MouseDown(pt : TPoint);override; + procedure MouseUp(pt : TPoint);override; + procedure WindowActivated(state : boolean);override; + procedure MouseMoved(pt : TPoint; code : Cardinal; msg : TMessage);override; + procedure DetachedFromWindow;override; + procedure FrameMoved(new_position : TPoint);override; + procedure FrameResized(new_width : double; new_height : double);override; + function ResolveSpecifier(msg : TMessage; index : integer; specifier : TMessage; form : integer; properti : PChar) : THandler; + procedure ResizeToPreferred;override; + procedure GetPreferredSize(width : double; height : double); + procedure MakeFocus(state : boolean); + procedure AllAttached;override; + procedure AllDetached;override; + + end; + +function BStatusBar_Create(AObject : TBeObject;frame : TCPlusObject; + name : pchar; + slabel : Pchar; + trailing_label : Pchar): TCPlusObject; cdecl; external BePascalLibName name 'BStatusBar_Create'; +function BStatusBar_Create(AObject : TBeObject; data : TCPlusObject): TCPlusObject; cdecl; external BePascalLibName name 'BStatusBar_Create'; +procedure BStatusBar_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_Free'; +function BStatusBar_Instantiate(AObject : TCPlusObject; data : TCPlusObject) : TArchivable; cdecl; external BePascalLibName name 'BStatusBar_Instantiate'; +function BStatusBar_Archive(AObject : TCPlusObject; data : TCPlusObject; deep : boolean) : TStatus_t; cdecl; external BePascalLibName name 'BStatusBar_Archive'; +procedure BStatusBar_AttachedToWindow(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_AttachedToWindow'; +procedure BStatusBar_MessageReceived(AObject : TCPlusObject; msg : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_MessageReceived'; +procedure BStatusBar_Draw(AObject : TCPlusObject; updateRect : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_Draw'; +procedure BStatusBar_SetBarColor(AObject : TCPlusObject; color : trgb_color); cdecl; external BePascalLibName name 'BStatusBar_SetBarColor'; +procedure BStatusBar_SetBarHeight(AObject : TCPlusObject; height : double); cdecl; external BePascalLibName name 'BStatusBar_SetBarHeight'; +procedure BStatusBar_SetText(AObject : TCPlusObject; str : PChar); cdecl; external BePascalLibName name 'BStatusBar_SetText'; +procedure BStatusBar_SetTrailingText(AObject : TCPlusObject; str : PChar); cdecl; external BePascalLibName name 'BStatusBar_SetTrailingText'; +procedure BStatusBar_SetMaxValue(AObject : TCPlusObject; max : double); cdecl; external BePascalLibName name 'BStatusBar_SetMaxValue'; +procedure BStatusBar_Update(AObject : TCPlusObject; delta : single; main_text : PChar; trailing_text : PChar); cdecl; external BePascalLibName name 'BStatusBar_Update'; +procedure BStatusBar_Reset(AObject : TCPlusObject; alabel : PChar; trailing_label : PChar); cdecl; external BePascalLibName name 'BStatusBar_Reset'; +function BStatusBar_CurrentValue(AObject : TCPlusObject) : double; cdecl; external BePascalLibName name 'BStatusBar_CurrentValue'; +function BStatusBar_MaxValue(AObject : TCPlusObject) : double; cdecl; external BePascalLibName name 'BStatusBar_MaxValue'; +function BStatusBar_BarColor(AObject : TCPlusObject) : trgb_color; cdecl; external BePascalLibName name 'BStatusBar_BarColor'; +function BStatusBar_BarHeight(AObject : TCPlusObject) : double; cdecl; external BePascalLibName name 'BStatusBar_BarHeight'; +function BStatusBar_Text(AObject : TCPlusObject) : PChar; cdecl; external BePascalLibName name 'BStatusBar_Text'; +function BStatusBar_TrailingText(AObject : TCPlusObject) : PChar; cdecl; external BePascalLibName name 'BStatusBar_TrailingText'; +function BStatusBar_Label(AObject : TCPlusObject) : PChar; cdecl; external BePascalLibName name 'BStatusBar_Label'; +function BStatusBar_TrailingLabel(AObject : TCPlusObject) : PChar; cdecl; external BePascalLibName name 'BStatusBar_TrailingLabel'; +procedure BStatusBar_MouseDown(AObject : TCPlusObject; pt : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_MouseDown'; +procedure BStatusBar_MouseUp(AObject : TCPlusObject; pt : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_MouseUp'; +procedure BStatusBar_WindowActivated(AObject : TCPlusObject; state : boolean); cdecl; external BePascalLibName name 'BStatusBar_WindowActivated'; +procedure BStatusBar_MouseMoved(AObject : TCPlusObject; pt : TCPlusObject; code : Cardinal; msg : TMessage); cdecl; external BePascalLibName name 'BStatusBar_MouseMoved'; +procedure BStatusBar_DetachedFromWindow(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_DetachedFromWindow'; +procedure BStatusBar_FrameMoved(AObject : TCPlusObject; new_position : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_FrameMoved'; +procedure BStatusBar_FrameResized(AObject : TCPlusObject; new_width : double; new_height : double); cdecl; external BePascalLibName name 'BStatusBar_FrameResized'; +function BStatusBar_ResolveSpecifier(AObject : TCPlusObject; msg : TCPlusObject; index : integer; specifier : TCPlusObject; form : integer; properti : PChar) : THandler; cdecl; external BePascalLibName name 'BStatusBar_ResolveSpecifier'; +procedure BStatusBar_ResizeToPreferred(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_ResizeToPreferred'; +procedure BStatusBar_GetPreferredSize(AObject : TCPlusObject; width : double; height : double); cdecl; external BePascalLibName name 'BStatusBar_GetPreferredSize'; +procedure BStatusBar_MakeFocus(AObject : TCPlusObject; state : boolean); cdecl; external BePascalLibName name 'BStatusBar_MakeFocus'; +procedure BStatusBar_AllAttached(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_AllAttached'; +procedure BStatusBar_AllDetached(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStatusBar_AllDetached'; +function BStatusBar_GetSupportedSuites(AObject : TCPlusObject; data : TCPlusObject) : TStatus_t; cdecl; external BePascalLibName name 'BStatusBar_GetSupportedSuites'; + +implementation + +constructor TStatusBar.Create(frame : TRect; + name : pchar; + alabel : Pchar; + trailing_label : Pchar); +begin + CreatePas; + CPlusObject := BStatusBar_Create(Self,frame.CPlusObject,name,alabel,trailing_label); +end; + +constructor TStatusBar.Create(data : TMessage); +begin + CreatePas; + CPlusObject := BStatusBar_Create(Self, data.CPlusObject); +end; + +destructor TStatusBar.Destroy; +begin + BStatusBar_Free(CPlusObject); + inherited; +end; + +function TStatusBar.Instantiate(data : TMessage) : TArchivable; +begin + Result := BStatusBar_Instantiate(CPlusObject, data.CPlusObject); +end; + +function TStatusBar.Archive(data : TMessage; deep : boolean) : TStatus_t; +begin + Result := BStatusBar_Archive(CPlusObject, data.CPlusObject, deep); +end; + +procedure TStatusBar.AttachedToWindow; +begin + //BStatusBar_AttachedToWindow(CPlusObject); +end; + +procedure TStatusBar.MessageReceived(msg : TMessage); +begin + //BStatusBar_MessageReceived(CPlusObject, msg.CPlusObject); +end; + +procedure TStatusBar.Draw(updateRect : TRect); +begin +// BStatusBar_Draw(CPlusObject, updateRect.CPlusObject); +end; + +procedure TStatusBar.SetBarColor(color : trgb_color); +begin + BStatusBar_SetBarColor(CPlusObject, color); +end; + +procedure TStatusBar.SetBarHeight(height : double); +begin + BStatusBar_SetBarHeight(CPlusObject, height); +end; + +procedure TStatusBar.SetText(str : PChar); +begin + BStatusBar_SetText(CPlusObject, str); +end; + +procedure TStatusBar.SetTrailingText(str : PChar); +begin + BStatusBar_SetTrailingText(CPlusObject, str); +end; + +procedure TStatusBar.SetMaxValue(max : double); +begin + BStatusBar_SetMaxValue(CPlusObject, max); +end; + +procedure TStatusBar.Update(delta : single; main_text : PChar; trailing_text : PChar); +begin + BStatusBar_Update(CPlusObject, delta, main_text, trailing_text); +end; + +procedure TStatusBar.Reset(alabel : PChar; trailing_label : PChar); +begin + BStatusBar_Reset(CPlusObject, alabel, trailing_label); +end; + +function TStatusBar.CurrentValue : double; +begin + Result := BStatusBar_CurrentValue(CPlusObject); +end; + +function TStatusBar.MaxValue : double; +begin + Result := BStatusBar_MaxValue(CPlusObject); +end; + +function TStatusBar.BarColor : trgb_color; +begin + Result := BStatusBar_BarColor(CPlusObject); +end; + +function TStatusBar.BarHeight : double; +begin + Result := BStatusBar_BarHeight(CPlusObject); +end; + +function TStatusBar.Text : PChar; +begin + Result := BStatusBar_Text(CPlusObject); +end; + +function TStatusBar.TrailingText : PChar; +begin + Result := BStatusBar_TrailingText(CPlusObject); +end; + +function TStatusBar.GetLabel : PChar; +begin + Result := BStatusBar_Label(CPlusObject); +end; + +function TStatusBar.TrailingLabel : PChar; +begin + Result := BStatusBar_TrailingLabel(CPlusObject); +end; + +procedure TStatusBar.MouseDown(pt : TPoint); +begin +// BStatusBar_MouseDown(CPlusObject, pt.CPlusObject); +end; + +procedure TStatusBar.MouseUp(pt : TPoint); +begin +// BStatusBar_MouseUp(CPlusObject, pt.CPlusObject); +end; + +procedure TStatusBar.WindowActivated(state : boolean); +begin +// BStatusBar_WindowActivated(CPlusObject, state); +end; + +procedure TStatusBar.MouseMoved(pt : TPoint; code : Cardinal; msg : TMessage); +begin +// BStatusBar_MouseMoved(CPlusObject, pt.CPlusObject, code, msg); +end; + +procedure TStatusBar.DetachedFromWindow; +begin +// BStatusBar_DetachedFromWindow(CPlusObject); +end; + +procedure TStatusBar.FrameMoved(new_position : TPoint); +begin +// BStatusBar_FrameMoved(CPlusObject, new_position.CPlusObject); +end; + +procedure TStatusBar.FrameResized(new_width : double; new_height : double); +begin +// BStatusBar_FrameResized(CPlusObject, new_width, new_height); +end; + +function TStatusBar.ResolveSpecifier(msg : TMessage; index : integer; specifier : TMessage; form : integer; properti : PChar) : THandler; +begin +// Result := BStatusBar_ResolveSpecifier(CPlusObject, msg.CPlusObject, index, specifier.CPlusObject, form, properti); +end; + +procedure TStatusBar.ResizeToPreferred; +begin + BStatusBar_ResizeToPreferred(CPlusObject); +end; + +procedure TStatusBar.GetPreferredSize(width : double; height : double); +begin + BStatusBar_GetPreferredSize(CPlusObject, width, height); +end; + +procedure TStatusBar.MakeFocus(state : boolean); +begin + BStatusBar_MakeFocus(CPlusObject, state); +end; + +procedure TStatusBar.AllAttached; +begin + BStatusBar_AllAttached(CPlusObject); +end; + +procedure TStatusBar.AllDetached; +begin + BStatusBar_AllDetached(CPlusObject); +end; + + +end.