fltk_test_1
#include <FL/Fl.H>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Box.H>
#include <FL/fl_ask.H>
#include "Fl_CallbackPlus.h"
#include <iostream>
#include <cstdio>
using namespace std;
class MainWindow : public Fl_Double_Window
{
private:
Fl_Button* close;
Fl_Button* click;
Fl_Button* field;
Fl_Input* in;
Fl_CallbackList<MainWindow> SetCallback;
int col;
public:
MainWindow() : Fl_Double_Window(370, 215, "Sample application")
{
close = new Fl_Button(270, 180, 90, 25, "&Close me");
click = new Fl_Button(175, 180, 90, 25, "Click me");
field = new Fl_Button(55, 67, 270, 93, "Come inside with mouse pointer and click");
col = FL_BACKGROUND_COLOR;
field->color(col);
field->box(FL_ENGRAVED_BOX);
field->down_box(FL_ENGRAVED_BOX);
in = new Fl_Input(10, 27, 350, 28, "Make some input:");
in->align(FL_ALIGN_TOP_LEFT);
in->when(FL_WHEN_CHANGED);
end();
// setting callback
SetCallback(this, &MainWindow::OnClose, close);
SetCallback(this, &MainWindow::OnClick, click);
SetCallback(this, &MainWindow::OnField, field);
// Qt-like style
SetCallback(this, in, &MainWindow::OnInput);
}
~MainWindow()
{ }
void OnClose(void)
{
hide();
}
void OnClick(void)
{
fl_alert("You clicked me!");
}
void OnField(void)
{
// make it red
col ^= 105;
field->color(col);
}
void OnInput(void)
{
fl_alert("Modifying...");
}
};
int main()
{
MainWindow mv;
mv.show();
return Fl::run();
}