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