Files
haiku-beta6/src/apps/resedit/NumberEditors.cpp
T
DarkWyrm 22c6ae6951 Forgot to add new files to the last checkin
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 22:16:45 +00:00

49 lines
1.1 KiB
C++

#include "InternalEditors.h"
#include "ResourceData.h"
#include <Messenger.h>
#include <Message.h>
#include <String.h>
#include <stdlib.h>
DoubleEditor::DoubleEditor(const BRect &frame, ResourceData *data,
BHandler *owner)
: Editor(frame, data, owner)
{
if (data->GetName())
SetTitle(data->GetName());
fView = new StringEditView(Bounds());
AddChild(fView);
fView->SetID(data->GetIDString());
fView->SetName(data->GetName());
fView->SetValue(data->GetData());
}
void
DoubleEditor::MessageReceived(BMessage *msg)
{
if (msg->what == M_UPDATE_RESOURCE) {
// We have to have an ID, so if the squirrely developer didn't give us
// one, don't do anything
if (fView->GetID()) {
int32 newid = atol(fView->GetID());
GetData()->SetID(newid);
}
GetData()->SetName(fView->GetName());
GetData()->SetData(fView->GetValue(),strlen(fView->GetValue()));
BMessage updatemsg(M_UPDATE_RESOURCE);
updatemsg.AddPointer("item",GetData());
BMessenger msgr(GetOwner());
msgr.SendMessage(&updatemsg);
PostMessage(B_QUIT_REQUESTED);
} else {
Editor::MessageReceived(msg);
}
}