* Copyright 2015, Rene Gollent, rene@gollent.com.
* Distributed under the terms of the MIT License.
*/
#ifndef VARIABLE_EDIT_WINDOW_H
#define VARIABLE_EDIT_WINDOW_H
#include <Window.h>
#include "TableCellValueEditor.h"
class BButton;
class Value;
class ValueNode;
class VariableEditWindow : public BWindow,
private TableCellValueEditor::Listener {
public:
VariableEditWindow(Value* initialValue,
ValueNode* node,
TableCellValueEditor* editor,
BHandler* target);
~VariableEditWindow();
static VariableEditWindow* Create(Value* initialValue,
ValueNode* node,
TableCellValueEditor* editor,
BHandler* closeTarget);
virtual void MessageReceived(BMessage* message);
virtual void Show();
virtual bool QuitRequested();
virtual void TableCellEditBeginning();
virtual void TableCellEditCancelled();
virtual void TableCellEditEnded(Value* newValue);
private:
void _Init();
private:
BButton* fCancelButton;
BButton* fSaveButton;
BHandler* fTarget;
ValueNode* fNode;
Value* fInitialValue;
Value* fNewValue;
TableCellValueEditor* fEditor;
};
#endif