00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "pgcheckbutton.h"
00030 #include "pgbutton.h"
00031
00032 PG_CheckButton::PG_CheckButton(PG_Widget* parent, const PG_Rect& r, const std::string& text, int id, const std::string& style)
00033 : PG_RadioButton(parent, r, text, NULL, id) {
00034 LoadThemeStyle(style);
00035 my_widgetButton->LoadThemeStyle(style, "CheckButton");
00036
00037 SetUnpressed();
00038 }
00039
00040 PG_CheckButton::~PG_CheckButton() {}
00041
00042 bool PG_CheckButton::eventMouseButtonUp(const SDL_MouseButtonEvent* my_widgetButton) {
00043 if ( my_widgetButton->button == SDL_BUTTON_LEFT ) {
00044 if(my_isPressed) {
00045 SetUnpressed();
00046 } else {
00047 SetPressed();
00048 }
00049
00050 return true;
00051 } else
00052 return false;
00053 }
00054
00055 void PG_CheckButton::SetUnpressed() {
00056 my_widgetButton->SetPressed(false);
00057 my_isPressed = false;
00058
00059 Update();
00060
00061
00062 sigClick(this, false);
00063 }