From 33325714d7d5a236a058cf7beb498542cb14111b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fodor=20=C3=81goston?= <fodor.agoston@hallgato.ppke.hu> Date: Wed, 15 May 2024 23:03:49 +0000 Subject: [PATCH] Delete listbox.cpp --- listbox.cpp | 120 ---------------------------------------------------- 1 file changed, 120 deletions(-) delete mode 100644 listbox.cpp diff --git a/listbox.cpp b/listbox.cpp deleted file mode 100644 index 4fd000d..0000000 --- a/listbox.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#include "listbox.hpp" -#include "widget.hpp" -#include "graphics.hpp" -using namespace genv; -using namespace std; - -ListBox::ListBox(Application* parent,int x, int y, int sizex, int sizey, vector<string> s) : Widget(parent,x,y,sizex,sizey), _s(s), _scroll(0), displaynum(0), _selected(-1) -{ - -} - - -void ListBox::draw() -{ - gout.load_font("LiberationSans-Regular.ttf",20); - int height = gout.cascent()+gout.cdescent()+2; - int displaynum = _sizey/height; - - if(displaynum > _s.size()) - { - displaynum = _s.size(); - - - } - _sizey = displaynum * height; - - int ypos = 0; - - gout << move_to(_x, _y) << color(200,200,200) << box (_sizex+2, displaynum*height); - - for (int i = _scroll; i < _scroll + displaynum and i < _s.size(); ++i) - { - - if(i != _selected){ - { - gout << move_to(_x+1, _y+ypos) << color(0,0,0) << box (_sizex, height) << move_to(_x+2, _y+ypos) << color(255,255,255) << text(_s[i]) << move_to(_x, _y+ypos) - << color(200,200,200) << line(_sizex, 0); - } - - } - if(i == _selected){ - { - gout << move_to(_x+1, _y+ypos) << color(0,0,0) << box (_sizex, height) << move_to(_x+2, _y+ypos) << color(255,0,255) << text(_s[i]) << move_to(_x, _y+ypos) - << color(200,200,200) << line(_sizex, 0); - } - //ypos += height; - } - ypos += height; - - - } - gout << move_to(_x, _y + ypos) << color(200,200,200) << line(_sizex, 0) << refresh; - - - - - - -} - - - -void ListBox::handle(event ev) -{ - - - gout.load_font("LiberationSans-Regular.ttf",20); - int height = gout.cascent()+gout.cdescent()+2; - int displaynum = _sizey/height; - int max_scroll = _s.size()-displaynum; - if(ev.type == ev_mouse) - { - if(isover(ev.pos_x, ev.pos_y) and (ev.button == btn_wheeldown or ev.button == btn_middle)) - { - if(_scroll < max_scroll) - { - _scroll++; - } - } - if(isover(ev.pos_x, ev.pos_y) and (ev.button == btn_wheelup or ev.button == btn_right)) - { - if (_scroll > 0) - { - _scroll--; - } - } - - for (int i = 0; i < displaynum; ++i) - { - if(i == 0) - { - if(ev.pos_x > _x and ev.pos_x < _x + _sizex and ev.pos_y < height+_y and ev.pos_y > _y and ev.button == btn_left ) - { - _selected = i + _scroll; - } - } - if(i > 0){ - if(ev.pos_x > _x and ev.pos_x < _x + _sizex and ev.pos_y < _y+i*2*height and ev.pos_y > _y+i*height and ev.button == btn_left ) - { - _selected = i + _scroll; - } - } - } - if(!isover(ev.pos_x,ev.pos_y) and ev.button == btn_left) - { - _selected = -1; - } - } -} -bool ListBox::isover(int ms_x, int ms_y) -{ - return (ms_x >= _x) and (ms_x <= _x + _sizex) and (ms_y >= _y) and (ms_y <= _y + _sizey); -} -string ListBox::getter() -{ - return _s[_selected]; -} - - - -- GitLab