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();

}