89 lines
2.4 KiB
C++
89 lines
2.4 KiB
C++
/*
|
|
* Copyright 2001-2009, Haiku, Inc. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _STRING_VIEW_H
|
|
#define _STRING_VIEW_H
|
|
|
|
|
|
#include <View.h>
|
|
|
|
|
|
class BStringView : public BView {
|
|
public:
|
|
BStringView(BRect bounds, const char* name,
|
|
const char* text, uint32 resizeFlags
|
|
= B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
|
uint32 flags = B_WILL_DRAW);
|
|
BStringView(const char* name, const char* text,
|
|
uint32 flags = B_WILL_DRAW);
|
|
BStringView(BMessage* archive);
|
|
virtual ~BStringView();
|
|
|
|
static BArchivable* Instantiate(BMessage* archive);
|
|
virtual status_t Archive(BMessage* archive,
|
|
bool deep = true) const;
|
|
|
|
void SetText(const char* text);
|
|
const char* Text() const;
|
|
void SetAlignment(alignment flag);
|
|
alignment Alignment() const;
|
|
|
|
virtual void AttachedToWindow();
|
|
virtual void DetachedFromWindow();
|
|
virtual void AllAttached();
|
|
virtual void AllDetached();
|
|
|
|
virtual void MakeFocus(bool state = true);
|
|
|
|
virtual void GetPreferredSize(float* _width,
|
|
float* _height);
|
|
virtual BSize MinSize();
|
|
virtual BSize MaxSize();
|
|
virtual BSize PreferredSize();
|
|
virtual void ResizeToPreferred();
|
|
virtual BAlignment LayoutAlignment();
|
|
virtual void FrameMoved(BPoint newPosition);
|
|
virtual void FrameResized(float newWidth, float newHeight);
|
|
|
|
virtual void Draw(BRect bounds);
|
|
|
|
virtual void MessageReceived(BMessage* message);
|
|
virtual void MouseDown(BPoint point);
|
|
virtual void MouseUp(BPoint point);
|
|
virtual void MouseMoved(BPoint point, uint32 transit,
|
|
const BMessage* dragMessage);
|
|
|
|
virtual BHandler* ResolveSpecifier(BMessage* message,
|
|
int32 index, BMessage* specifier,
|
|
int32 form, const char* property);
|
|
virtual status_t GetSupportedSuites(BMessage* data);
|
|
|
|
virtual void SetFont(const BFont* font,
|
|
uint32 mask = B_FONT_ALL);
|
|
|
|
protected:
|
|
virtual void LayoutInvalidated(bool descendants = false);
|
|
|
|
private:
|
|
// FBC padding and forbidden methods
|
|
virtual status_t Perform(perform_code code, void* data);
|
|
|
|
virtual void _ReservedStringView1();
|
|
virtual void _ReservedStringView2();
|
|
virtual void _ReservedStringView3();
|
|
|
|
BStringView& operator=(const BStringView& other);
|
|
|
|
private:
|
|
BSize _ValidatePreferredSize();
|
|
|
|
private:
|
|
char* fText;
|
|
float fStringWidth;
|
|
alignment fAlign;
|
|
BSize fPreferredSize;
|
|
};
|
|
|
|
#endif // _STRING_VIEW_H
|