From 5a93cdaf5d4fcefe664271bb8f233044059f3ad3 Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Sat, 3 Oct 2015 11:03:00 +0200 Subject: evaluatebutton, histbrowser, file splitting, makefile --- flogo.cpp | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 7 deletions(-) (limited to 'flogo.cpp') diff --git a/flogo.cpp b/flogo.cpp index 96ba34d..28b754b 100644 --- a/flogo.cpp +++ b/flogo.cpp @@ -7,8 +7,12 @@ #include #include #include +#include +#include #include +#include "engine.h" + using namespace std; const int WIDTH=1000,HEIGHT=1000; @@ -16,10 +20,13 @@ const int WIDTH=1000,HEIGHT=1000; Fl_Window *window; Fl_Scroll *drawscroll; -Fl_Box *drawimagebox; -Fl_RGB_Image *drawimage; +Fl_Box *drawimagebox,*turtleimagebox; +Fl_RGB_Image *drawimage,*turtleimage; +Fl_Select_Browser *histbrowser; Fl_Input *cmdinput; -uchar *imagebuf; +Fl_Button *evaluatebutton; + +uchar *imagebuf,*turtlebuf; const uchar* someimg(void){ @@ -42,22 +49,42 @@ void maincallback(Fl_Widget*,void*){ void cmdinputcallback(Fl_Widget *wid){ Fl_Input *inp=(Fl_Input*)wid; - cout<value()<insert(histbrowser->size(),inp->value()); + histbrowser->bottomline(histbrowser->size()); + logocommand(inp->value()); inp->value(NULL); } +void evaluatebuttoncallback(Fl_Widget*){ + histbrowser->insert(histbrowser->size(),cmdinput->value()); + histbrowser->bottomline(histbrowser->size()); + logocommand(cmdinput->value()); + cmdinput->value(NULL); +} + +void histcallback(Fl_Widget *wid){ + Fl_Select_Browser *br=(Fl_Select_Browser*)wid; + cmdinput->value(br->text(br->value())); +} + int main(int argc,char **argv){ - window=new Fl_Window(1016,700); - Fl_Group::current(0); + window=new Fl_Window(1016,700,"FLogo"); + Fl_Group::current(0); //manual adding to widgets - imagebuf=new uchar[WIDTH*HEIGHT*3]; + imagebuf=new uchar[WIDTH*HEIGHT*3]; //RGB memset(imagebuf,255,WIDTH*HEIGHT*3*sizeof(uchar)); + turtlebuf=new uchar[WIDTH*HEIGHT*2]; //GA + memset(turtlebuf,0,WIDTH*HEIGHT*2*sizeof(uchar)); drawscroll=new Fl_Scroll(0,0,window->w(),window->h()-150); drawimagebox=new Fl_Box(0,0,WIDTH,HEIGHT); drawimage=new Fl_RGB_Image(imagebuf,WIDTH,HEIGHT); drawimagebox->image(drawimage); drawscroll->add(drawimagebox); + turtleimagebox=new Fl_Box(0,0,WIDTH,HEIGHT); + turtleimage=new Fl_RGB_Image(turtlebuf,WIDTH,HEIGHT,2); + turtleimagebox->image(turtleimage); + drawscroll->add(turtleimagebox); window->add(drawscroll); cmdinput=new Fl_Input(0,window->h()-25,window->w()-150,25); @@ -65,6 +92,15 @@ int main(int argc,char **argv){ cmdinput->callback(cmdinputcallback); window->add(cmdinput); + evaluatebutton=new Fl_Button(cmdinput->x()+cmdinput->w(),cmdinput->y(),80,cmdinput->h(),"Evaluate"); + evaluatebutton->callback(evaluatebuttoncallback); + window->add(evaluatebutton); + + histbrowser=new Fl_Select_Browser(0,drawscroll->y()+drawscroll->h(),cmdinput->w(),cmdinput->y()-(drawscroll->y()+drawscroll->h())); + histbrowser->callback(histcallback); + window->add(histbrowser); + histbrowser->add(""); //add blank line + window->resizable(drawscroll); window->end(); -- cgit v1.2.3-54-g00ecf