cppAdaptive1
view release on metacpan or search on metacpan
src/dlib/test/gui/main.cpp view on Meta::CPAN
unsigned long new_idx,
unsigned long
)
{
tab_label.set_text(tabs.tab_name(new_idx));
}
void scroll_handler (
)
{
ostringstream sout;
sout << "scroll bar pos: " << sb.slider_pos();
sbl.set_text(sout.str());
}
void scroll2_handler (
)
{
sb.set_length(sb2.slider_pos());
ostringstream sout;
sout << "scroll bar2 pos: " << sb2.slider_pos();
sbl2.set_text(sout.str());
scroll_handler();
}
void scroll3_handler (
)
{
sb.set_max_slider_pos(sb3.slider_pos());
ostringstream sout;
sout << "scroll bar3 pos: " << sb3.slider_pos();
sbl3.set_text(sout.str());
scroll_handler();
}
void lb_double_click (
unsigned long
)
{
dlib::queue<unsigned long>::kernel_2a_c sel;
lb.get_selected(sel);
sel.reset();
while (sel.move_next())
{
cout << lb[sel.element()] << endl;
}
//message_box("list_box",lb[idx]);
}
void msg_box (
)
{
message_box("title","you clicked the ok button!\n HURRAY!");
}
static void try_this_junk (
void* param
)
{
win& p = *reinterpret_cast<win*>(param);
put_on_clipboard(p.tf.text() + "\nfoobar");
}
void on_set_clipboard (
)
{
create_new_thread(try_this_junk,this);
//try_this_junk(this);
}
static void try_this_junk2 (
void*
)
{
string temp;
get_from_clipboard(temp);
message_box("clipboard",temp);
}
void on_get_clipboard (
)
{
create_new_thread(try_this_junk2,this);
}
void on_show_msg_click (
)
{
message_box("title","This is a test message.",*this,&win::msg_box);
}
void on_menu_help (
)
{
message_box("About","This is the messy dlib gui regression test program");
}
public:
~win()
{
close_window();
}
void cbox_clicked (
)
{
if (cbox.is_checked())
cbl.set_text(cbox.name() + " box is checked");
else
cbl.set_text("box NOT is checked");
}
win (
):
drawable_window(true),
lbl_last_keydown(*this),
lbl_mod_shift(*this),
lbl_mod_control(*this),
lbl_mod_alt(*this),
lbl_mod_meta(*this),
lbl_mod_caps_lock(*this),
lbl_mod_num_lock(*this),
lbl_mod_scroll_lock(*this),
b(*this),
btn_count(*this),
btn_get_clipboard(*this),
btn_set_clipboard(*this),
btn_show_message(*this),
cb1(*this,rectangle(100,100,200,200),255,0,0),
cb2(*this,rectangle(150,150,250,240),0,255,0),
cbl(*this),
cbox(*this),
group1(*this),
group2(*this),
group3(*this),
keyboard_count(1),
keydown(*this),
keyup(*this),
l1(*this),
l2(*this),
l3(*this),
lb(*this),
leave_count(*this),
left_down(*this),
left_up(*this),
middle_down(*this),
middle_up(*this),
mouse_state(*this),
mt(*this),
nrect(*this),
pos(*this),
rb(*this),
right_down(*this),
right_up(*this),
sb2(*this,scroll_bar::VERTICAL),
sb3(*this,scroll_bar::VERTICAL),
sb_enabled(*this),
sbl2(*this),
sbl3(*this),
sbl(*this),
sb_shown(*this),
sb(*this,scroll_bar::HORIZONTAL),
scroll(*this),
tab_label(*this),
tabs(*this),
tf(*this),
tb(*this),
mbar(*this)
{
bool use_bdf_fonts = false;
shared_ptr_thread_safe<bdf_font> f(new bdf_font);
if (use_bdf_fonts)
{
ifstream fin("/home/davis/source/10x20.bdf");
f->read_bdf_file(fin,0xFFFF);
mt.set_main_font(f);
}
//mt.hide();
mt.set_pos(5,200);
lbl_last_keydown.set_text("?");
lbl_mod_shift.set_text("?");
lbl_mod_control.set_text("?");
lbl_mod_alt.set_text("?");
lbl_mod_meta.set_text("?");
lbl_mod_caps_lock.set_text("?");
lbl_mod_num_lock.set_text("?");
lbl_mod_scroll_lock.set_text("?");
lbl_last_keydown.set_pos(20,420);
lbl_mod_shift.set_pos(20,lbl_last_keydown.bottom()+5);
lbl_mod_control.set_pos(20,lbl_mod_shift.bottom()+5);
lbl_mod_alt.set_pos(20,lbl_mod_control.bottom()+5);
lbl_mod_meta.set_pos(20,lbl_mod_alt.bottom()+5);
lbl_mod_caps_lock.set_pos(20,lbl_mod_meta.bottom()+5);
lbl_mod_num_lock.set_pos(20,lbl_mod_caps_lock.bottom()+5);
lbl_mod_scroll_lock.set_pos(20,lbl_mod_num_lock.bottom()+5);
lb.set_pos(580,200);
lb.set_size(200,300);
if (use_bdf_fonts)
lb.set_main_font(f);
dlib::queue<string>::kernel_2a_c qos;
string a;
a = "Davis"; qos.enqueue(a);
a = "king"; qos.enqueue(a);
a = "one"; qos.enqueue(a);
a = "two"; qos.enqueue(a);
a = "three"; qos.enqueue(a);
a = "yo yo yo alsdkjf asfj lsa jfsf\n this is a long phrase"; qos.enqueue(a);
a = "four"; qos.enqueue(a);
a = "five"; qos.enqueue(a);
a = "six"; qos.enqueue(a);
a = "seven"; qos.enqueue(a);
a = "eight"; qos.enqueue(a);
a = "nine"; qos.enqueue(a);
a = "ten"; qos.enqueue(a);
a = "eleven"; qos.enqueue(a);
a = "twelve"; qos.enqueue(a);
for (int i = 0; i < 1000; ++i)
{
a = "thirteen"; qos.enqueue(a);
}
lb.load(qos);
lb.select(1);
lb.select(2);
lb.select(3);
lb.select(5);
lb.enable_multiple_select();
lb.set_double_click_handler(*this,&win::lb_double_click);
// lb.disable_multiple_select();
btn_show_message.set_pos(50,350);
btn_show_message.set_name("message_box()");
mbar.set_number_of_menus(2);
mbar.set_menu_name(0,"File",'F');
mbar.set_menu_name(1,"Help",'H');
mbar.menu(0).add_menu_item(menu_item_text("show msg click",*this,&win::on_show_msg_click,'s'));
mbar.menu(0).add_menu_item(menu_item_text("get clipboard",*this,&win::on_get_clipboard,'g'));
mbar.menu(0).add_menu_item(menu_item_text("set clipboard",*this,&win::on_set_clipboard,'c'));
mbar.menu(0).add_menu_item(menu_item_separator());
mbar.menu(0).add_submenu(menu_item_submenu("submenu",'m'), submenu);
submenu.add_menu_item(menu_item_separator());
submenu.add_menu_item(menu_item_separator());
submenu.add_menu_item(menu_item_text("show msg click",*this,&win::on_show_msg_click,'s'));
submenu.add_menu_item(menu_item_text("get clipboard",*this,&win::on_get_clipboard,'g'));
submenu.add_menu_item(menu_item_text("set clipboard",*this,&win::on_set_clipboard,'c'));
submenu.add_menu_item(menu_item_separator());
submenu.add_menu_item(menu_item_separator());
mbar.menu(1).add_menu_item(menu_item_text("About",*this,&win::on_menu_help,'A'));
btn_show_message.set_click_handler(*this,&win::on_show_msg_click);
btn_get_clipboard.set_pos(btn_show_message.right()+5,btn_show_message.top());
btn_get_clipboard.set_name("get_from_clipboard()");
btn_get_clipboard.set_click_handler(*this,&win::on_get_clipboard);
btn_get_clipboard.set_style(button_style_toolbar1());
btn_set_clipboard.set_pos(btn_get_clipboard.right()+5,btn_get_clipboard.top());
btn_set_clipboard.set_name("put_on_clipboard()");
btn_set_clipboard.set_click_handler(*this,&win::on_set_clipboard);
nrect.set_size(700,500);
nrect.set_name("test widgets");
nrect.set_pos(2,mbar.bottom()+2);
//throw dlib::error("holy crap batman");
tab_label.set_pos(10,440);
tabs.set_click_handler(*this,&win::tab_change);
tabs.set_pos(5,mbar.bottom()+10);
tabs.set_size(280,100);
tabs.set_number_of_tabs(3);
tabs.set_tab_name(0,"davis");
tabs.set_tab_name(1,"edward");
tabs.set_tab_name(2,"king alsklsdkfj asfd");
tabs.set_tab_group(0,group1);
tabs.set_tab_group(1,group2);
tabs.set_tab_group(2,group3);
l1.set_text("group one");
l2.set_text("group two");
l3.set_text("group three");
group1.add(l1,0,0);
group2.add(l2,20,10);
group3.add(l3,0,0);
sb_enabled.set_name("enabled");
sb_shown.set_name("shown");
sb_shown.set_checked();
sb_enabled.set_checked();
sb_shown.set_click_handler(*this,&win::cb_sb_shown);
sb_enabled.set_click_handler(*this,&win::cb_sb_enabled);
sb_shown.set_tooltip_text("I'm a checkbox");
rb.set_click_handler(*this,&win::rb_click);
sb3.set_pos(440,mbar.bottom()+10);
sb3.set_max_slider_pos(300);
sb3.set_slider_pos(150);
sb3.set_length(300);
sb2.set_pos(470,mbar.bottom()+10);
sb2.set_max_slider_pos(300);
sb2.set_length(300);
sb.set_pos(500,mbar.bottom()+10);
sb.set_max_slider_pos(30);
sb.set_length(300);
sb.set_scroll_handler(*this,&win::scroll_handler);
sb2.set_scroll_handler(*this,&win::scroll2_handler);
sb3.set_scroll_handler(*this,&win::scroll3_handler);
sbl.set_pos(540,mbar.bottom()+20);
sbl2.set_pos(540,mbar.bottom()+40);
sbl3.set_pos(540,mbar.bottom()+60);
src/dlib/test/gui/main.cpp view on Meta::CPAN
if (use_bdf_fonts)
tabs.set_main_font(f);
}
private:
void on_enter_key()
{
cout << "enter key pressed" << endl;
}
void on_tf_focus_lost()
{
cout << "text field/box lost focus" << endl;
}
void on_open_file (const std::string& file)
{
message_box("file opened",file);
}
void on_click (
)
{
ostringstream sout;
sout << "text field: " << tf.text();
++button_count;
btn_count.set_text(sout.str());
if (flip == 0)
{
flip = 1;
lb.set_size(200,200);
}
else if (flip == 1)
{
flip = 2;
lb.set_size(150,200);
}
else if (flip == 2)
{
flip = 3;
lb.set_size(150,300);
}
else
{
flip = 0;
lb.set_size(200,300);
}
}
button b;
label btn_count;
button btn_get_clipboard;
button btn_set_clipboard;
button btn_show_message;
int button_count;
color_box cb1;
color_box cb2;
label cbl;
check_box cbox;
int count;
int flip;
widget_group group1;
widget_group group2;
widget_group group3;
int keyboard_count;
label keydown;
label keyup;
label l1;
label l2;
label l3;
list_box lb;
label leave_count;
label left_down;
label left_up;
label middle_down;
label middle_up;
label mouse_state;
mouse_tracker mt;
named_rectangle nrect;
label pos;
radio_button rb;
label right_down;
label right_up;
scroll_bar sb2;
scroll_bar sb3;
check_box sb_enabled;
label sbl2;
label sbl3;
label sbl;
check_box sb_shown;
scroll_bar sb;
int scroll_count;
label scroll;
label tab_label;
tabbed_display tabs;
text_field tf;
text_box tb;
menu_bar mbar;
popup_menu submenu;
};
win w;
int main()
{
try
{
image_window win;
( run in 1.760 second using v1.01-cache-2.11-cpan-81fc1098f69 )