1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Int_Input.H>
#include <FL/Fl_Output.H>
#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
using namespace std;
class SimpleWindow : public Fl_Window{
public:
SimpleWindow(int w, int h, const char* title );
~SimpleWindow();
Fl_Button* copy;
Fl_Button* quit;
Fl_Int_Input* inp;
Fl_Output* out;
string rs;
string result;
const char* updated_result;
int nombre;
int new_nb;
private:
static void cb_copy(Fl_Widget*, void*);
inline void cb_copy_i();
static void cb_quit(Fl_Widget*, void*);
inline void cb_quit_i();
};
int main (){
SimpleWindow win(300,200,"SimpleWindow");
return Fl::run();
}
SimpleWindow::SimpleWindow(int w, int h, const char* title):Fl_Window(w,h,title){
begin();
copy = new Fl_Button( 10, 150, 70, 30, "C&opy");
copy->callback( cb_copy, this );
quit = new Fl_Button(100, 150, 70, 30, "&Quit");
quit->callback(cb_quit, this);
inp = new Fl_Int_Input(50, 50, 140, 30, "Input:");
out = new Fl_Output(50, 100, 140, 30, "Output:");
end();
resizable(this);
show();
}
SimpleWindow::~SimpleWindow(){}
void SimpleWindow::cb_copy(Fl_Widget* o, void* v) {
( (SimpleWindow*)v )->cb_copy_i();
}
void SimpleWindow::cb_copy_i() {
//converts our input value to a string
rs=inp->value();
//converts string to integer and add 5
std::istringstream iss( "10" );
iss >> nombre;
new_nb=nombre+5;
//converts new integer back to string
std::ostringstream oss;
oss << new_nb;
std::string result = oss.str();
//converts our freshly converted string to char
ifstream file( result.c_str() );
out->value(updated_result);
}
void SimpleWindow::cb_quit(Fl_Widget* , void* v) {
( (SimpleWindow*)v )->cb_quit_i();
}
void SimpleWindow::cb_quit_i() {
hide();
} |
Partager