xref: /haiku/src/apps/resedit/InternalEditors.h (revision e234c03470695780d2b2cfa3160db1b257d34a5a)
1*e234c034SDarkWyrm /*
2*e234c034SDarkWyrm  * Copyright (c) 2005-2010, Haiku, Inc.
3*e234c034SDarkWyrm  * Distributed under the terms of the MIT license.
4*e234c034SDarkWyrm  *
5*e234c034SDarkWyrm  * Author:
6*e234c034SDarkWyrm  *		DarkWyrm <darkwyrm@gmail.com>
7*e234c034SDarkWyrm  */
822c6ae69SDarkWyrm #ifndef INTERNALEDITORS_H
922c6ae69SDarkWyrm #define INTERNALEDITORS_H
1022c6ae69SDarkWyrm 
1122c6ae69SDarkWyrm #include <View.h>
1222c6ae69SDarkWyrm #include <TextControl.h>
1322c6ae69SDarkWyrm #include <Button.h>
1422c6ae69SDarkWyrm #include "Editor.h"
1522c6ae69SDarkWyrm 
1622c6ae69SDarkWyrm class StringEditView : public BView
1722c6ae69SDarkWyrm {
1822c6ae69SDarkWyrm public:
1922c6ae69SDarkWyrm 					StringEditView(const BRect &frame);
2022c6ae69SDarkWyrm 					~StringEditView(void);
2122c6ae69SDarkWyrm 
2222c6ae69SDarkWyrm 	void			AttachedToWindow(void);
2322c6ae69SDarkWyrm 
2422c6ae69SDarkWyrm 	const char *	GetID(void) const { return fIDBox->Text(); }
2522c6ae69SDarkWyrm 	void			SetID(const char *idstring) { fIDBox->SetText(idstring); }
2622c6ae69SDarkWyrm 
2722c6ae69SDarkWyrm 	const char *	GetName(void) const { return fNameBox->Text(); }
2822c6ae69SDarkWyrm 	void			SetName(const char *name) { fNameBox->SetText(name); }
2922c6ae69SDarkWyrm 
3022c6ae69SDarkWyrm 	const char *	GetValue(void) const { return fValueBox->Text(); }
3122c6ae69SDarkWyrm 	void			SetValue(const char *value) { fValueBox->SetText(value); }
3222c6ae69SDarkWyrm 
3322c6ae69SDarkWyrm 	void			EnableID(const bool &value) { fIDBox->SetEnabled(value); }
3422c6ae69SDarkWyrm 	bool			IsIDEnabled(void) const { return fIDBox->IsEnabled(); }
3522c6ae69SDarkWyrm 
3622c6ae69SDarkWyrm 	float			GetPreferredWidth(void) const;
3722c6ae69SDarkWyrm 	float			GetPreferredHeight(void) const;
3822c6ae69SDarkWyrm 
3922c6ae69SDarkWyrm private:
4022c6ae69SDarkWyrm 	BTextControl	*fIDBox,
4122c6ae69SDarkWyrm 					*fNameBox,
4222c6ae69SDarkWyrm 					*fValueBox;
4322c6ae69SDarkWyrm 
4422c6ae69SDarkWyrm 	BButton			*fCancel,
4522c6ae69SDarkWyrm 					*fOK;
4622c6ae69SDarkWyrm };
4722c6ae69SDarkWyrm 
4822c6ae69SDarkWyrm class DoubleEditor : public Editor
4922c6ae69SDarkWyrm {
5022c6ae69SDarkWyrm public:
5122c6ae69SDarkWyrm 			DoubleEditor(const BRect &frame, ResourceData *data,
5222c6ae69SDarkWyrm 						BHandler *owner);
5322c6ae69SDarkWyrm 	void	MessageReceived(BMessage *msg);
5422c6ae69SDarkWyrm 
5522c6ae69SDarkWyrm private:
5622c6ae69SDarkWyrm 	StringEditView	*fView;
5722c6ae69SDarkWyrm };
5822c6ae69SDarkWyrm 
5922c6ae69SDarkWyrm class StringEditor : public Editor
6022c6ae69SDarkWyrm {
6122c6ae69SDarkWyrm public:
6222c6ae69SDarkWyrm 			StringEditor(const BRect &frame, ResourceData *data,
6322c6ae69SDarkWyrm 						BHandler *owner);
6422c6ae69SDarkWyrm 	void	MessageReceived(BMessage *msg);
6522c6ae69SDarkWyrm 
6622c6ae69SDarkWyrm private:
6722c6ae69SDarkWyrm 	StringEditView	*fView;
6822c6ae69SDarkWyrm };
6922c6ae69SDarkWyrm 
7022c6ae69SDarkWyrm class BitmapView;
7122c6ae69SDarkWyrm 
7222c6ae69SDarkWyrm class ImageEditor : public Editor
7322c6ae69SDarkWyrm {
7422c6ae69SDarkWyrm public:
7522c6ae69SDarkWyrm 			ImageEditor(const BRect &frame, ResourceData *data,
7622c6ae69SDarkWyrm 						BHandler *owner);
7722c6ae69SDarkWyrm 			~ImageEditor(void);
7822c6ae69SDarkWyrm 	void	MessageReceived(BMessage *msg);
7922c6ae69SDarkWyrm 	void	FrameResized(float w, float h);
8022c6ae69SDarkWyrm 
8122c6ae69SDarkWyrm private:
8222c6ae69SDarkWyrm 	BTextControl	*fIDBox;
8322c6ae69SDarkWyrm 	BTextControl	*fNameBox;
8422c6ae69SDarkWyrm 
8522c6ae69SDarkWyrm 	BButton			*fOK,
8622c6ae69SDarkWyrm 					*fCancel;
8722c6ae69SDarkWyrm 
8822c6ae69SDarkWyrm 	BBitmap			*fImage;
8922c6ae69SDarkWyrm 	BitmapView		*fImageView;
9022c6ae69SDarkWyrm };
9122c6ae69SDarkWyrm 
9222c6ae69SDarkWyrm #endif
93