xref: /haiku/src/apps/resedit/InternalEditors.h (revision 22c6ae695176ead7d736db8c69472d8ae89dc75f)
1*22c6ae69SDarkWyrm #ifndef INTERNALEDITORS_H
2*22c6ae69SDarkWyrm #define INTERNALEDITORS_H
3*22c6ae69SDarkWyrm 
4*22c6ae69SDarkWyrm #include <View.h>
5*22c6ae69SDarkWyrm #include <TextControl.h>
6*22c6ae69SDarkWyrm #include <Button.h>
7*22c6ae69SDarkWyrm #include "Editor.h"
8*22c6ae69SDarkWyrm 
9*22c6ae69SDarkWyrm class StringEditView : public BView
10*22c6ae69SDarkWyrm {
11*22c6ae69SDarkWyrm public:
12*22c6ae69SDarkWyrm 					StringEditView(const BRect &frame);
13*22c6ae69SDarkWyrm 					~StringEditView(void);
14*22c6ae69SDarkWyrm 
15*22c6ae69SDarkWyrm 	void			AttachedToWindow(void);
16*22c6ae69SDarkWyrm 
17*22c6ae69SDarkWyrm 	const char *	GetID(void) const { return fIDBox->Text(); }
18*22c6ae69SDarkWyrm 	void			SetID(const char *idstring) { fIDBox->SetText(idstring); }
19*22c6ae69SDarkWyrm 
20*22c6ae69SDarkWyrm 	const char *	GetName(void) const { return fNameBox->Text(); }
21*22c6ae69SDarkWyrm 	void			SetName(const char *name) { fNameBox->SetText(name); }
22*22c6ae69SDarkWyrm 
23*22c6ae69SDarkWyrm 	const char *	GetValue(void) const { return fValueBox->Text(); }
24*22c6ae69SDarkWyrm 	void			SetValue(const char *value) { fValueBox->SetText(value); }
25*22c6ae69SDarkWyrm 
26*22c6ae69SDarkWyrm 	void			EnableID(const bool &value) { fIDBox->SetEnabled(value); }
27*22c6ae69SDarkWyrm 	bool			IsIDEnabled(void) const { return fIDBox->IsEnabled(); }
28*22c6ae69SDarkWyrm 
29*22c6ae69SDarkWyrm 	float			GetPreferredWidth(void) const;
30*22c6ae69SDarkWyrm 	float			GetPreferredHeight(void) const;
31*22c6ae69SDarkWyrm 
32*22c6ae69SDarkWyrm private:
33*22c6ae69SDarkWyrm 	BTextControl	*fIDBox,
34*22c6ae69SDarkWyrm 					*fNameBox,
35*22c6ae69SDarkWyrm 					*fValueBox;
36*22c6ae69SDarkWyrm 
37*22c6ae69SDarkWyrm 	BButton			*fCancel,
38*22c6ae69SDarkWyrm 					*fOK;
39*22c6ae69SDarkWyrm };
40*22c6ae69SDarkWyrm 
41*22c6ae69SDarkWyrm class DoubleEditor : public Editor
42*22c6ae69SDarkWyrm {
43*22c6ae69SDarkWyrm public:
44*22c6ae69SDarkWyrm 			DoubleEditor(const BRect &frame, ResourceData *data,
45*22c6ae69SDarkWyrm 						BHandler *owner);
46*22c6ae69SDarkWyrm 	void	MessageReceived(BMessage *msg);
47*22c6ae69SDarkWyrm 
48*22c6ae69SDarkWyrm private:
49*22c6ae69SDarkWyrm 	StringEditView	*fView;
50*22c6ae69SDarkWyrm };
51*22c6ae69SDarkWyrm 
52*22c6ae69SDarkWyrm class StringEditor : public Editor
53*22c6ae69SDarkWyrm {
54*22c6ae69SDarkWyrm public:
55*22c6ae69SDarkWyrm 			StringEditor(const BRect &frame, ResourceData *data,
56*22c6ae69SDarkWyrm 						BHandler *owner);
57*22c6ae69SDarkWyrm 	void	MessageReceived(BMessage *msg);
58*22c6ae69SDarkWyrm 
59*22c6ae69SDarkWyrm private:
60*22c6ae69SDarkWyrm 	StringEditView	*fView;
61*22c6ae69SDarkWyrm };
62*22c6ae69SDarkWyrm 
63*22c6ae69SDarkWyrm class BitmapView;
64*22c6ae69SDarkWyrm 
65*22c6ae69SDarkWyrm class ImageEditor : public Editor
66*22c6ae69SDarkWyrm {
67*22c6ae69SDarkWyrm public:
68*22c6ae69SDarkWyrm 			ImageEditor(const BRect &frame, ResourceData *data,
69*22c6ae69SDarkWyrm 						BHandler *owner);
70*22c6ae69SDarkWyrm 			~ImageEditor(void);
71*22c6ae69SDarkWyrm 	void	MessageReceived(BMessage *msg);
72*22c6ae69SDarkWyrm 	void	FrameResized(float w, float h);
73*22c6ae69SDarkWyrm 
74*22c6ae69SDarkWyrm private:
75*22c6ae69SDarkWyrm 	BTextControl	*fIDBox;
76*22c6ae69SDarkWyrm 	BTextControl	*fNameBox;
77*22c6ae69SDarkWyrm 
78*22c6ae69SDarkWyrm 	BButton			*fOK,
79*22c6ae69SDarkWyrm 					*fCancel;
80*22c6ae69SDarkWyrm 
81*22c6ae69SDarkWyrm 	BBitmap			*fImage;
82*22c6ae69SDarkWyrm 	BitmapView		*fImageView;
83*22c6ae69SDarkWyrm };
84*22c6ae69SDarkWyrm 
85*22c6ae69SDarkWyrm #endif
86