# data file for the FLTK User Interface Designer (FLUID) version 2.0100 header_name {.h} code_name {.cxx} gridx 5 gridy 5 snap 3 decl {\#include } {} decl {\#include } {} decl {\#include } {} decl {\#include } {} decl {int wdm_fd = 1;} {} Function {} {open } { code {int c; EdeLogin *login = new EdeLogin(); while((c = getopt(argc, argv, "asb:d:h:l:uw:c:x:f:")) != -1) { switch(c) { case 'f': /* wdm daemon's file descriptor */ wdm_fd = strtol(optarg, NULL, 0); if(wdm_fd < 1) wdm_fd = 1; printf("wdm_fd: %d\\n", wdm_fd); break; } }} {} } class EdeLogin {open } { Function {EdeLogin()} {open } { {fltk::Window} {} { label {EDE Login} open xywh {3 96 800 600} box NO_BOX image not_inlined {os-tux-800x600.jpg} extra_code {o->show();} visible } { {fltk::Group} {} { label {Welcome to stxbox} open xywh {205 205 395 195} align 17 labelcolor 0xffffff00 labelsize 31 } { {fltk::Input} {} { label {Username: } xywh {140 55 175 20} box BORDER_BOX labelcolor 0xffffff00 } {fltk::Input} {} { label {Password: } xywh {140 90 175 20} type Secret box BORDER_BOX labelcolor 0xffffff00 } {fltk::Button} {} { label Login callback Login xywh {240 125 75 25} box BORDER_BOX buttonbox FLAT_BOX buttoncolor 0xffffff00 highlight_color 0x35bcc600 } {fltk::Button} {} { label Shutdown xywh {10 160 75 25} box BORDER_BOX buttonbox FLAT_BOX buttoncolor 0xffffff00 highlight_color 0x35bcc600 } {fltk::Button} {} { label Restart xywh {100 160 75 25} box BORDER_BOX buttonbox FLAT_BOX buttoncolor 0xffffff00 highlight_color 0x35bcc600 } } } } Function {OutputAuth(char *user, char *pass)} {open return_type void } { code {writestring(wdm_fd, user ? user : ""); writestring(wdm_fd, pass ? pass: ""); writeuc(wdm_fd, 0); /* end of data */} {} } Function {Login(fltk::Widget *widget, void *data)} {open return_type void } { code {printf("Logging in...\\n"); OutputAuth("root", "root");} {selected } } } Function {writeuc(int fd, unsigned char c)} {open return_type void } { code {// From out.c by Tom Rothamel (GPL) - via wdm write(fd, &c, sizeof(unsigned char));} {} } Function {writestring(int fd, char *string)} {open return_type void } { code {int len; len = strlen(string); if(len > 255) { len = 255; } writeuc(fd, (unsigned char) len); write(fd, string, len);} {} }