phpgtk__legacy/wiki1/wiki.d/CodeSnippets.MsgBox

36 lines
54 KiB
Text

version=pmwiki-1.0.5
newline=²
text=When working in graphical user interface mode you often need to display a message to user that wait for an action like for example a confirmation box²as this is a current task here's a way to do this in an efficient way.²²||||Screenshots||²|| http://jonathan.gotti.free.fr/phpgtkwikki/msgbox.png || http://jonathan.gotti.free.fr/phpgtkwikki/msgbox_popup.png ||²²First of all we will think of what we need²* title setting is required²* we will display different messages in different situations²* we want the application to stop and wait for user input²* buttons must be configurable²* signal emition when show, clicked or destroy the msgbox²* if the label is too long we want a gtktext in place of a gtklabel²* we must know which button was clicked²²so here's the code of our msgbox class²[[include:Main/CodeTable]]²<?php²/**²@author <[http://wiki.gtk.php.net/index.php?page=nathan nathan] at the-ring dot homelinux dot net>²@package GUI_OBJECTS²@license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public Licence²*/²class msgbox{² var $gtkwindow;² var $gdkwindow;² var $mode;² var $buttons;² var $label;² var $actionbox;² var $box;² var $mainbox;² var $pixmap;² /**² create the message box² @param string $title the window title² @param mixed $icon (int iconid|string filename|array xpm_data) the icon to display² defined icons are 0 for interrogation, 1 for exclamation and 2 for X² @param string $label the message label² @param string $buttons is the button label separated by '|' (ie: "OK|CANCEL")² @param int $mode define various window setting 0 is default add 1 for a POPUP window and 2 for a modal one² (ie: 3 will be popup and modal window)² @param bool $forced_txt set it to true to force the message to be a gtktext without regarding it's length² */² function msgbox($label,$icon=0,$buttons='cancel|ok',$title=null,$mode=2,$forced_txt=FALSE){² # set the window as popup accordingly to $mode² $this->gtkwindow = &new gtkwindow((($mode%2==1)?GTK_WINDOW_POPUP:GTK_WINDOW_DIALOG)); ² $this->gtkwindow->set_title($title);² $this->gtkwindow->realize();² $this->gdkwindow = $this->gtkwindow->window;² $this->frame = &new gtkframe();² $this->mainbox = &new gtkvbox(0,5);² $this->box = &new gtkhbox(0,5);² $this->gtkwindow->add($this->frame);² $this->frame->add($this->mainbox);²² #THE ACTION BOX² $this->actionbox = &new gtkhbuttonbox();² $this->actionbox->set_spacing(5);² $this->actionbox->set_layout(GTK_BUTTONBOX_END);² #CREATE BUTTONS² $buttons = explode('|',$buttons);² $bt_count= count($buttons);² foreach($buttons as $lb){² $this->buttons[$lb] = &new gtkbutton($lb);² $this->buttons[$lb]->connect('clicked',array(&$this,'clicked'),$lb);² $this->actionbox->add($this->buttons[$lb]);² if(++$i == $bt_count)² $this->gtkwindow->set_focus($this->buttons[$lb]);² }² #ARRANGING WIDGETS² $this->mainbox->pack_start($this->box,1,1,0);² $separator = &new gtkhseparator();² $this->mainbox->pack_end($this->actionbox,0,0,2);² $this->mainbox->pack_end($separator,0,0,0);² if($mode>=2)#set the window modal if needed² $this->gtkwindow->set_modal(TRUE);² #load the needed icons² $this->load_icon($icon);² if($this->pixmap)² $this->box->pack_start($this->pixmap,0,0,5);² if(strlen($label) < 250 && !$forced_txt){² $this->label = &new gtklabel($label);² $this->label->set_justify(GTK_JUSTIFY_LEFT);² $this->box->pack_start($this->label,1,1,5);² }else{² $this->txt = &new gtktext();² $this->txt->set_word_wrap(FALSE);² $this->txt->insert(null,null,null,$label);² $this->scroll = &new gtkscrolledwindow();² $this->scroll->add($this->txt);² $this->scroll->set_policy(GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);² $this->scroll->set_usize(450,150);² $this->box->pack_start($this->scroll,1,1,5);² }² }² /**² known signal 'destroy','show',clicked² @param string $signal may be 'clicked','destroy','show'² @param mixed $callback (string function name or array(object,methodname))² */² function connect($signal,$callback){² $args[0] = &$this;² for($i=1;$i<func_num_args();$i++){² $args[$i]=&func_get_arg($i);² }² $this->cbs[$signal] = array($callback,$args);² }² /** self explained */² function show(){² $this->gtkwindow->connect('delete-event',array(&$this,'destroy'));² $this->gtkwindow->connect('destroy-event',array(&$this,'destroy'));² $this->gtkwindow->set_position('center');² $this->gtkwindow->show_all();² if(is_array($this->cbs['show']))² call_user_func_array($this->cbs['show'][0],$this->cbs['show'][1]);² # this will block your script parsing until the gtk::main_quit() was called² gtk::main(); ² }² /** self explained */² function destroy(){² $this->gtkwindow->destroy();² if(is_array($this->cbs['destroy']))² call_user_func_array($this->cbs['destroy'][0],$this->cbs['destroy'][1]);² # this will quit the gtk loop we launched in the show method ² # and then the script continue to be parsed where it stoped.² gtk::main_quit();² }² /** self explained */² function clicked($call_wdgt,$string){² $this->clicked_button = $string;² if(is_array($this->cbs['clicked']))² call_user_func_array($this->cbs['clicked'][0],$this->cbs['clicked'][1]);² $this->destroy();² }² /**² load predefined icons by id² @internal² @private² @see msgbox constructor² @uses file2pixmap² */² function load_icon($icon=0){² if(! is_numeric($icon))² return FALSE;² switch($icon){² case 1:² $xpmd = array(² "31 31 32 1",² "` c #070319",² ". c #a59816",² "# c #f0cc08",² "a c #4f4424",² "b c None",//#d4d2cc",² "c c #faec09",² "d c #473729",² "e c #f9dc05",² "f c #6a612d",² "g c #baa521",² "h c #f0f352",² "i c #fcfb0f",² "j c #bcb2c4",² "k c #cabc18",² "l c #0e055a",² "m c #1e2983",² "n c #646dc9",² "o c #6c8cac",² "p c #2d4eac",² "q c #4461b5",² "r c #3f1581",² "s c #816f11",² "t c #35316e",² "u c #211734",² "v c #54467c",² "w c #9c9a5c",² "x c #cda704",² "y c #151a71",² "z c #767040",² "A c #e0b706",² "B c #37345a",² "C c #e4db3b",² "bbbbbbbbbbbbbhiioobbbbbbbbbbbbb",² "bbbbbbbbbbbbCiiicznbbbbbbbbbbbb",² "bbbbbbbbbbbCcciiikmnbbbbbbbbbbb",² "bbbbbbbbbbbCcihiiifpbbbbbbbbbbb",² "bbbbbbbbbbCCciihiikyqbbbbbbbbbb",² "bbbbbbbbbbCCciiiiiifpbbbbbbbbbb",² "bbbbbjbbb#Cciiiiiiikyqbbbjbbbbb",² "bbbbbbbbbCCcii#Ciiicftbbbbbbbjb",² "bbbbbbbb#eCiCa``fiiikmqbbbbbbbb",² "bbbbbbbbC#cif```u.iiczmbbbbbbbb",² "bbbbjbb##Ciif``l`.iiikyqbbbbbbb",² "bbbbbbbC#ciis``lugiiccfmbbbbbbb",² "bbbbbb###cii.`lla#iicckyqbbbbbb",² "bbbbbb#CeiciCa`rsciiiccfmbbbbbb",² "bbbbbA##cicicayt.iccicckyqbbbbb",² "bbbbbk#Cccccismvgicciieefmbbbbb",² "bbbb###eiceci.ld#ieeiieckyqbjbb",² "bbbbk##cceceikuveiceciceezybbbb",² "bbbA##ecceeeiedfcceeecieekyqbbb",² "bbbk##cceeeeccffieeeeciceezmbbb",² "bb###eceeeeeecAAceeeeecieeAypbb",² "bbAA#cceeeeeccciceeeeeeiheezmbb",² "bA##eeee#eecea``sceee#eeie##ypb",² "bkA#eee#e#eis```uxi#e#eecc#ezyb",² "A#A#ee#e#e#if`ultgi#e##eec##Ayr",² "AA##eee#ee#isu`njAc#eee#eee##vr",² "kAA#########c.fzA############zl",² "wxAAAAAAAAAAA###AAAAAAAAAAAA#dy",² "bgxxxxxxxxxxxxxxxxxxxxxxxxxAfyy",² "bbqtttrBttttttttBtBtttrBttBrymb",² "bbbqppppppppptppppppppppppppppb");² break;² case 2:² $xpmd = array(² "31 31 32 1",² "` c #1d100f",² ". c #ac8684",² "# c #980204",² "a c #9c5351",² "b c #d00506",² "c c #d33738",² "d c #f40e0e",² "e c #d74a49",² "f c #aecdcd",² "g c #b12d2d",² "h c #f66767",² "i c #d91717",² "j c #b80405",² "k c #665a58",² "l c #fa2f2f",² "m c None",² "n c #e00808",² "o c #570607",² "p c #f78b8b",² "q c #9cbebc",² "r c #967372",² "s c #342e2c",² "t c #f8fdfb",² "u c #c8e5e7",² "v c #7f0204",² "w c #fca1a1",² "x c #7c6161",² "y c #fc504f",² "z c #fc7979",² "A c #bf4f4f",² "B c #3c0204",² "C c #bc7274",² "mmmmmmmmmmmmhyyyyhzmmmmmmmmmmmm",² "mmmmmmmmmlyhzpzpzhyllhmmmmmmmmm",² "mmmmmmmlyhzpwwwwzzzhyll.mmmmmmm",² "mmmmmmlyhzpwwwwwpzzhyyllemmmmmm",² "mmmmmlyhzpwpwpzzzzhhyyyllimmmmm",² "mmmmdyyhzzzzhyyyyyyyyyllldgmmmm",² "mmmdyyyhhhyylddddlllyllllliammm",² "mmlllyyyrxldddddddddxalllidirmm",² "mmilyllrfurdddndndnkqqaddlii#mm",² "mlllllruttmrnnnndnkqttf.diiijkm",² "miilllhfttturndnnxqttttyndbibsm",² "miiddddyuttturnbrqttttennibji#m",² "hiildldneutttu..uttttybnnbijj#k",² "cibiddnnncutttttttttebbbbbjjjjs",² "ijiniinnbneutttttttebjbbbbbjjj`",² "jijinnbbbbbettttttcbbbbbbjjj#js",² "gjbbbbbnbbj.ttttttpjjbjjbjjj#j`",² "cjjjbbbbbjxfttttttu.jbjbjjj###`",² "h#jjjbbbjxftttttttturjjjjj##jvs",² "m#jjjjbjkqttttcetttturjjjj###vm",² "m#j#jbjkfttttejjAtttturj#j###Bm",² "mg#j#jrfttttAjjjjAutttt.#####`m",² "mmj#j#gftttejjjjj#Autttg##v#omm",² "mmg####gtte#j#j#jj#Attg##v#v`fm",² "mmmj####AA#j#j#j##j#Acvvvv#Bmmm",² "mmmm#########j##j####v#vv#Bmmmm",² "mmmmm##v############vvvv#ommmmm",² "mmmmmm##vv#######v#vvvvvBmmmmmm",² "mmmmmmmv#vvvvvvvvvvvv#vBmmmmmmm",² "mmmmmmmmmvv#vvvvvvvvvBmmmmmmmmm",² "mmmmmmmmmmmmovvvvoommmmmmmmmmmm");² break;² default:² $xpmd = array(² "31 31 32 1",² "` c #040d62",² ". c #698ab6",² "# c #accded",² "a c #97989b",² "b c none",//#d4d2cc",² "c c #404f68",² "d c #c6e2fa",² "e c #a3b4c4",² "f c #4e5964",² "g c #86a9cd",² "h c #c2cdda",² "i c #bac0c6",² "j c #dceefb",² "k c #0b3188",² "l c #9dbcdd",² "m c #5a738c",² "n c #f5f9fa",² "o c #244ea4",² "p c #34436a",² "q c #4476d4",² "r c #7d99b3",² "s c #6b7a8e",² "t c #445e9c",² "u c #05227f",² "v c #89b4e1",² "w c #173d94",² "x c #a0a7ae",² "y c #5c6672",² "z c #5376b8",² "A c #7a9bcb",² "B c #dae5f2",² "C c #2c62c4",² "bbbbbbbbbbhjnBnjnBBBbbbbbbbbbbb",² "bbbbbbbhjnnnnnnnnnnnjBihbbbbbbb",² "bbbbbijnnnnnnnnnnnnnnnBbbbbbbbb",² "bbbbinnnnnnnnnnnnnnnnnnjbehbbbb",² "bbbinBnnnnnnBgzz.eBnnnnnBbhbbbb",² "bbiBBnnnnnnekkzw``phnnnnnBhihbb",² "bbBBnnnnnndw`.niku`oBnnnnjBexhb",² "biBnnnnnnnx`ukhBcuuuljjnnnBhxxb",² "bbBnnnnjnnlukwljtuukgnjjnjj#eei",² "ibjnnjnjnndAzABdouukljjjjnj#ixy",² "hhjnjjjnjjnjjjnekkwzdnjjdjjdlxs",² "ihBjnjjjjjjjnnjzuCAdjdjdjjdh#xs",² "",² "bbbbbbbbixfysgrv#v.fcxibbbbbbbb",² "bbbbbbbbbbibamgglvsxibbbbibbbbb",² "bbbbbbbbbbbbbamvlvmxbbbbbbbbbbb",² "bbbbibbbbbbbbbamvvmxbbbbbbbbbbb",² "bbbbbbbbbbbbbbbamvmxbbbbbbbbbbb",² "bbbbbbbbbbbbbbbiammxbbbbbbbbbbb",² "bbbbbbbbbbbbibbbbacxbbbbbbbibbb");² }² # create pixmap² $pix = gdk::pixmap_create_from_xpm_d($this->gdkwindow,null,$xpmd);² $this->pixmap = &new gtkpixmap($pix[0],$pix[1]);² }² }²}²?>²[[include:Main/CodeTableEnd]]²²Now we have an easy to use object for displayng msgbox, but we want a one line way to display such messages so we'll create a function²(take this as a sample of use)²²[[include:Main/CodeTable]]²<?php²/**²this will display a blocking msgbox waiting for user input.²it will return the clicked button string²see class message box for more details about params²@param string $title²@param mixed $icon_type ²@param string $label²@param string $button_labels ²@param int mode²*/²function gtkgui_msgbox($title='Confirmation.',$icon_type=0,$label='Do you wish to continue ?',$button_labels='cancel|ok',$mode=0){² $msg = &new msgbox($label,$icon_type,$button_labels,$title,$mode);² $msg->show();² return $msg->clicked_button;²}²?>²[[include:Main/CodeTableEnd]]²²now it's really easy to get a user input for example we can do :²[[include:Main/CodeTable]]²<?php²....²$msg = gtkgui_msgbox('Quit',0,'Do you really want to quit','cancel|ok',2);²if($msg != 'ok')² exit;²#else continue to do what you want²....²?>²[[include:Main/CodeTableEnd]]²²by doing this the script will stop when we call the gtkgui_msgbox function, until the user click a button or destroy the box.²when the user click the script continue where it stops and $msg value is the button clicked label (ok or cancel in this case).²so we could test the user response.²²another common usage i found for this is a debug function which will display some variables contents in such a box.²it's really usefull to check what's going on whith your code when developping.²it also propose a nice kill app buttons which does exactly what you think.²here it is :²[[include:Main/CodeTable]]²<?php²/**²msgbox showing print_r(args) with all callback connected²it will block the script execution until you press continue²and add a kill app button wich will imediatly end your programm when clicked²@param mixed as many variables as you want to check values²*/²function showvar(){² $argc = func_num_args();² #formating string to display² for($i=0;$i<$argc;$i++){² $arg = @func_get_arg($i);² $str .= print_r($arg,1)."\n";² }² $msg = &new msgbox($str,2,'kill app|continue','Debug');² $msg->show();² if('kill app'==$msg->clicked_button)² exit;²}²²#sample use will open a msgbox displaying var²for($i=33;$i<127;$i++){² echo "LOOP $i => ".chr($i)."\n";² $var[$i] = chr($i);²}²showvar($var);²?>²[[include:Main/CodeTableEnd]]²²will display ²http://jonathan.gotti.free.fr/phpgtkwikki/msgbox_debug.png²²²Voila!²I hope this will be helpfull to you, don't hesitate to send me your comments ,enhancements or simply feedbacks.²²{{Profiles/Nathan}}²²this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)
time=1117377363
diff:1092958043:1092958043:=1,436c1²< ||||Screenshots||²< || http://jonathan.gotti.free.fr/phpgtkwikki/msgbox.png || http://jonathan.gotti.free.fr/phpgtkwikki/msgbox_popup.png ||²< ²< When working in graphical user interface mode you often need to display a message to user that wait for an action like for example a confirmation box²< as this is a current task here's a way to do this in an efficient way.²< ²< First of all we will think of what we need²< * title setting is required²< * we must can display different messages on different situation²< * we want the application to stop waiting to user input²< * buttons must be configurable²< * signal emition when show ,clicked or destroy the msgbox²< * if the label is too long we want a gtktext in place of a gtklabel²< * we must know which button was clicked²< ²< so here's the code of our msgbox class²< [[include:Main/CodeTable]]²< <?php²< /**²< @author <[http://wiki.gtk.php.net/index.php?page=nathan nathan] at the-ring dot homelinux dot net>²< @package GUI_OBJECTS²< @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public Licence²< */²< class msgbox{²< var $gtkwindow;²< var $gdkwindow;²< var $mode;²< var $buttons;²< var $label;²< var $actionbox;²< var $box;²< var $mainbox;²< var $pixmap;²< /**²< create the message box²< @param string $title the window title²< @param mixed $icon (int iconid|string filename|array xpm_data) the icon to display²< defined icons are 0 for interrogation, 1 for exclamation and 2 for X²< @param string $label the message label²< @param string $buttons is the button label separated by '|' (ie: "OK|CANCEL")²< @param int $mode define various window setting 0 is default add 1 for a POPUP window and 2 for a modal one²< (ie: 3 will be popup and modal window)²< @param bool $forced_txt set it to true to force the message to be a gtktext without regarding it's length²< */²< function msgbox($label,$icon=0,$buttons='cancel|ok',$title=null,$mode=2,$forced_txt=FALSE){²< $this->gtkwindow = &new gtkwindow((($mode%2==1)?GTK_WINDOW_POPUP:GTK_WINDOW_DIALOG)); # set the window as popup accordingly to $mode²< $this->gtkwindow->set_title($title);²< $this->gtkwindow->realize();²< $this->gdkwindow = $this->gtkwindow->window;²< $this->frame = &new gtkframe();²< $this->mainbox = &new gtkvbox(0,5);²< $this->box = &new gtkhbox(0,5);²< $this->gtkwindow->add($this->frame);²< $this->frame->add($this->mainbox);²< ²< #THE ACTION BOX²< $this->actionbox = &new gtkhbuttonbox();²< $this->actionbox->set_spacing(5);²< $this->actionbox->set_layout(GTK_BUTTONBOX_END);²< #CREATE BUTTONS²< $buttons = explode('|',$buttons);²< $bt_count= count($buttons);²< foreach($buttons as $lb){²< $this->buttons[$lb] = &new gtkbutton($lb);²< $this->buttons[$lb]->connect('clicked',array(&$this,'clicked'),$lb);²< $this->actionbox->add($this->buttons[$lb]);²< if(++$i == $bt_count)²< $this->gtkwindow->set_focus($this->buttons[$lb]);²< }²< #ARRANGING WIDGETS²< $this->mainbox->pack_start($this->box,1,1,0);²< $separator = &new gtkhseparator();²< $this->mainbox->pack_end($this->actionbox,0,0,2);²< $this->mainbox->pack_end($separator,0,0,0);²< if($mode>=2)#set the window modal if needed²< $this->gtkwindow->set_modal(TRUE);²< #load the needed icons²< $this->load_icon($icon);²< if($this->pixmap)²< $this->box->pack_start($this->pixmap,0,0,5);²< if(strlen($label) < 250 && !$forced_txt){²< $this->label = &new gtklabel($label);²< $this->label->set_justify(GTK_JUSTIFY_LEFT);²< $this->box->pack_start($this->label,1,1,5);²< }else{²< $this->txt = &new gtktext();²< $this->txt->set_word_wrap(FALSE);²< $this->txt->insert(null,null,null,$label);²< $this->scroll = &new gtkscrolledwindow();²< $this->scroll->add($this->txt);²< $this->scroll->set_policy(GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);²< $this->scroll->set_usize(450,150);²< $this->box->pack_start($this->scroll,1,1,5);²< }²< }²< /**²< known signal 'destroy','show',clicked²< @param string $signal may be 'clicked','destroy','show'²< @param mixed $callback (string function name or array(object,methodname))²< */²< function connect($signal,$callback){²< $args[0] = &$this;²< for($i=1;$i<func_num_args();$i++){²< $args[$i]=&func_get_arg($i);²< }²< $this->cbs[$signal] = array($callback,$args);²< }²< /** self explained */²< function show(){²< $this->gtkwindow->connect('delete-event',array(&$this,'destroy'));²< $this->gtkwindow->connect('destroy-event',array(&$this,'destroy'));²< $this->gtkwindow->set_position('center');²< $this->gtkwindow->show_all();²< if(is_array($this->cbs['show']))²< call_user_func_array($this->cbs['show'][0],$this->cbs['show'][1]);²< # this will block your script parsing until the gtk::main_quit() was called²< gtk::main(); ²< }²< /** self explained */²< function destroy(){²< $this->gtkwindow->destroy();²< if(is_array($this->cbs['destroy']))²< call_user_func_array($this->cbs['destroy'][0],$this->cbs['destroy'][1]);²< # this will quit the gtk loop we launched in the show method ²< # and then the script continue to be parsed where it stoped.²< gtk::main_quit();²< }²< /** self explained */²< function clicked($call_wdgt,$string){²< $this->clicked_button = $string;²< if(is_array($this->cbs['clicked']))²< call_user_func_array($this->cbs['clicked'][0],$this->cbs['clicked'][1]);²< $this->destroy();²< }²< /**²< load predefined icons by id²< @internal²< @private²< @see msgbox constructor²< @uses file2pixmap²< */²< function load_icon($icon=0){²< if(! is_numeric($icon))²< return FALSE;²< switch($icon){²< case 1:²< $xpmd = array(²< "31 31 32 1",²< "` c #070319",²< ". c #a59816",²< "# c #f0cc08",²< "a c #4f4424",²< "b c None",//#d4d2cc",²< "c c #faec09",²< "d c #473729",²< "e c #f9dc05",²< "f c #6a612d",²< "g c #baa521",²< "h c #f0f352",²< "i c #fcfb0f",²< "j c #bcb2c4",²< "k c #cabc18",²< "l c #0e055a",²< "m c #1e2983",²< "n c #646dc9",²< "o c #6c8cac",²< "p c #2d4eac",²< "q c #4461b5",²< "r c #3f1581",²< "s c #816f11",²< "t c #35316e",²< "u c #211734",²< "v c #54467c",²< "w c #9c9a5c",²< "x c #cda704",²< "y c #151a71",²< "z c #767040",²< "A c #e0b706",²< "B c #37345a",²< "C c #e4db3b",²< "bbbbbbbbbbbbbhiioobbbbbbbbbbbbb",²< "bbbbbbbbbbbbCiiicznbbbbbbbbbbbb",²< "bbbbbbbbbbbCcciiikmnbbbbbbbbbbb",²< "bbbbbbbbbbbCcihiiifpbbbbbbbbbbb",²< "bbbbbbbbbbCCciihiikyqbbbbbbbbbb",²< "bbbbbbbbbbCCciiiiiifpbbbbbbbbbb",²< "bbbbbjbbb#Cciiiiiiikyqbbbjbbbbb",²< "bbbbbbbbbCCcii#Ciiicftbbbbbbbjb",²< "bbbbbbbb#eCiCa``fiiikmqbbbbbbbb",²< "bbbbbbbbC#cif```u.iiczmbbbbbbbb",²< "bbbbjbb##Ciif``l`.iiikyqbbbbbbb",²< "bbbbbbbC#ciis``lugiiccfmbbbbbbb",²< "bbbbbb###cii.`lla#iicckyqbbbbbb",²< "bbbbbb#CeiciCa`rsciiiccfmbbbbbb",²< "bbbbbA##cicicayt.iccicckyqbbbbb",²< "bbbbbk#Cccccismvgicciieefmbbbbb",²< "bbbb###eiceci.ld#ieeiieckyqbjbb",²< "bbbbk##cceceikuveiceciceezybbbb",²< "bbbA##ecceeeiedfcceeecieekyqbbb",²< "bbbk##cceeeeccffieeeeciceezmbbb",²< "bb###eceeeeeecAAceeeeecieeAypbb",²< "bbAA#cceeeeeccciceeeeeeiheezmbb",²< "bA##eeee#eecea``sceee#eeie##ypb",²< "bkA#eee#e#eis```uxi#e#eecc#ezyb",²< "A#A#ee#e#e#if`ultgi#e##eec##Ayr",²< "AA##eee#ee#isu`njAc#eee#eee##vr",²< "kAA#########c.fzA############zl",²< "wxAAAAAAAAAAA###AAAAAAAAAAAA#dy",²< "bgxxxxxxxxxxxxxxxxxxxxxxxxxAfyy",²< "bbqtttrBttttttttBtBtttrBttBrymb",²< "bbbqppppppppptppppppppppppppppb");²< break;²< case 2:²< $xpmd = array(²< "31 31 32 1",²< "` c #1d100f",²< ". c #ac8684",²< "# c #980204",²< "a c #9c5351",²< "b c #d00506",²< "c c #d33738",²< "d c #f40e0e",²< "e c #d74a49",²< "f c #aecdcd",²< "g c #b12d2d",²< "h c #f66767",²< "i c #d91717",²< "j c #b80405",²< "k c #665a58",²< "l c #fa2f2f",²< "m c None",²< "n c #e00808",²< "o c #570607",²< "p c #f78b8b",²< "q c #9cbebc",²< "r c #967372",²< "s c #342e2c",²< "t c #f8fdfb",²< "u c #c8e5e7",²< "v c #7f0204",²< "w c #fca1a1",²< "x c #7c6161",²< "y c #fc504f",²< "z c #fc7979",²< "A c #bf4f4f",²< "B c #3c0204",²< "C c #bc7274",²< "mmmmmmmmmmmmhyyyyhzmmmmmmmmmmmm",²< "mmmmmmmmmlyhzpzpzhyllhmmmmmmmmm",²< "mmmmmmmlyhzpwwwwzzzhyll.mmmmmmm",²< "mmmmmmlyhzpwwwwwpzzhyyllemmmmmm",²< "mmmmmlyhzpwpwpzzzzhhyyyllimmmmm",²< "mmmmdyyhzzzzhyyyyyyyyyllldgmmmm",²< "mmmdyyyhhhyylddddlllyllllliammm",²< "mmlllyyyrxldddddddddxalllidirmm",²< "mmilyllrfurdddndndnkqqaddlii#mm",²< "mlllllruttmrnnnndnkqttf.diiijkm",²< "miilllhfttturndnnxqttttyndbibsm",²< "miiddddyuttturnbrqttttennibji#m",²< "hiildldneutttu..uttttybnnbijj#k",²< "cibiddnnncutttttttttebbbbbjjjjs",²< "ijiniinnbneutttttttebjbbbbbjjj`",²< "jijinnbbbbbettttttcbbbbbbjjj#js",²< "gjbbbbbnbbj.ttttttpjjbjjbjjj#j`",²< "cjjjbbbbbjxfttttttu.jbjbjjj###`",²< "h#jjjbbbjxftttttttturjjjjj##jvs",²< "m#jjjjbjkqttttcetttturjjjj###vm",²< "m#j#jbjkfttttejjAtttturj#j###Bm",²< "mg#j#jrfttttAjjjjAutttt.#####`m",²< "mmj#j#gftttejjjjj#Autttg##v#omm",²< "mmg####gtte#j#j#jj#Attg##v#v`fm",²< "mmmj####AA#j#j#j##j#Acvvvv#Bmmm",²< "mmmm#########j##j####v#vv#Bmmmm",²< "mmmmm##v############vvvv#ommmmm",²< "mmmmmm##vv#######v#vvvvvBmmmmmm",²< "mmmmmmmv#vvvvvvvvvvvv#vBmmmmmmm",²< "mmmmmmmmmvv#vvvvvvvvvBmmmmmmmmm",²< "mmmmmmmmmmmmovvvvoommmmmmmmmmmm");²< break;²< default:²< $xpmd = array(²< "31 31 32 1",²< "` c #040d62",²< ". c #698ab6",²< "# c #accded",²< "a c #97989b",²< "b c none",//#d4d2cc",²< "c c #404f68",²< "d c #c6e2fa",²< "e c #a3b4c4",²< "f c #4e5964",²< "g c #86a9cd",²< "h c #c2cdda",²< "i c #bac0c6",²< "j c #dceefb",²< "k c #0b3188",²< "l c #9dbcdd",²< "m c #5a738c",²< "n c #f5f9fa",²< "o c #244ea4",²< "p c #34436a",²< "q c #4476d4",²< "r c #7d99b3",²< "s c #6b7a8e",²< "t c #445e9c",²< "u c #05227f",²< "v c #89b4e1",²< "w c #173d94",²< "x c #a0a7ae",²< "y c #5c6672",²< "z c #5376b8",²< "A c #7a9bcb",²< "B c #dae5f2",²< "C c #2c62c4",²< "bbbbbbbbbbhjnBnjnBBBbbbbbbbbbbb",²< "bbbbbbbhjnnnnnnnnnnnjBihbbbbbbb",²< "bbbbbijnnnnnnnnnnnnnnnBbbbbbbbb",²< "bbbbinnnnnnnnnnnnnnnnnnjbehbbbb",²< "bbbinBnnnnnnBgzz.eBnnnnnBbhbbbb",²< "bbiBBnnnnnnekkzw``phnnnnnBhihbb",²< "bbBBnnnnnndw`.niku`oBnnnnjBexhb",²< "biBnnnnnnnx`ukhBcuuuljjnnnBhxxb",²< "bbBnnnnjnnlukwljtuukgnjjnjj#eei",²< "ibjnnjnjnndAzABdouukljjjjnj#ixy",²< "hhjnjjjnjjnjjjnekkwzdnjjdjjdlxs",²< "ihBjnjjjjjjjnnjzuCAdjdjdjjdh#xs",²< "ihBjjjjjjjjjdnlwovdjjdjddjdh#xs",²< "i#Bjjjjjjjjjjj.kAjjddddjddd##ay",²< "eihjjjjjdjddjjqodjjddjdddjd#esy",²< "gi#djdjdjdjddjlvdddddddddd#lrsx",²< "eeihdjddddddjd##djddddddd##e.fb",²< "bre#dddjdddddApwz#dddddd##vgyab",²< "birelddddddjlk```Add#d###vescbb",²< "bberelhdddddvkuku.ddd#d#vg.cabb",²< "bbbirel##ddd#zkq.vd###lvg.cxbbb",²< "bbbbe.ggll##dlv#####vlvrscxbbbb",²< "bbbbbesrgggvvl##d#vvvg.ffxbbbbb",²< "bbbbbbiefsrAAAgl#vvAmfpxibbbbbb",²< "bbbbbbbbixfysgrv#v.fcxibbbbbbbb",²< "bbbbbbbbbbibamgglvsxibbbbibbbbb",²< "bbbbbbbbbbbbbamvlvmxbbbbbbbbbbb",²< "bbbbibbbbbbbbbamvvmxbbbbbbbbbbb",²< "bbbbbbbbbbbbbbbamvmxbbbbbbbbbbb",²< "bbbbbbbbbbbbbbbiammxbbbbbbbbbbb",²< "bbbbbbbbbbbbibbbbacxbbbbbbbibbb");²< }²< # create pixmap²< $pix = gdk::pixmap_create_from_xpm_d($this->gdkwindow,null,$xpmd);²< $this->pixmap = &new gtkpixmap($pix[0],$pix[1]);²< }²< }²< }²< ?>²< [[include:Main/CodeTableEnd]]²< ²< Now we have an easy to use object for displayng msgbox, but we want a one line way to display such messages so we'll create a function²< (take this as a sample of use)²< ²< [[include:Main/CodeTable]]²< <?php²< /**²< this will display a blocking msgbox waiting for user input.²< it will return the clicked button string²< see class message box for more details about params²< @param string $title²< @param mixed $icon_type ²< @param string $label²< @param string $button_labels ²< @param int mode²< */²< function gtkgui_msgbox($title='Confirmation.',$icon_type=0,$label='Do you wish to continue ?',$button_labels='cancel|ok',$mode=0){²< $msg = &new msgbox($label,$icon_type,$button_labels,$title,$mode);²< $msg->show();²< return $msg->clicked_button;²< }²< ?>²< [[include:Main/CodeTableEnd]]²< ²< now it's really easy to get a user input for example we can do :²< [[include:Main/CodeTable]]²< <?php²< ....²< $msg = gtkgui_msgbox('Quit',0,'Do you really want to quit','cancel|ok',2);²< if($msg != 'ok')²< exit;²< #else continue to do what you want²< ....²< ?>²< [[include:Main/CodeTableEnd]]²< by doing this the script will stop when we call the gtkgui_msgbox function, until the user click a button or destroy the box.²< when the user click the script continue where it stops and $msg value is the button clicked label (ok or cancel in this case).²< so we could test the user response.²< ²< another common usage i found for this is a debug function which will display some variables contents in such a box.²< it's really usefull to check what's going on whith your code when developping.²< it also propose a nice kill app buttons which does exactly what you think.²< here it is :²< [[include:Main/CodeTable]]²< <?php²< /**²< msgbox showing print_r(args) with all callback connected²< it will block the script execution until you press continue²< and add a kill app button wich will imediatly end your programm when clicked²< @param mixed as many variables as you want to check values²< */²< function showvar(){²< $argc = func_num_args();²< #formating string to display²< for($i=0;$i<$argc;$i++){²< $arg = @func_get_arg($i);²< $str .= print_r($arg,1)."\n";²< }²< $msg = &new msgbox($str,2,'kill app|continue','Debug');²< $msg->show();²< if('kill app'==$msg->clicked_button)²< exit;²< }²< ²< #sample use will open a msgbox displaying var²< for($i=33;$i<127;$i++){²< echo "LOOP $i => ".chr($i)."\n";²< $var[$i] = chr($i);²< }²< showvar($var);²< ?>²< [[include:Main/CodeTableEnd]]²< will display ²< http://jonathan.gotti.free.fr/phpgtkwikki/msgbox_debug.png²< ²< ²< Voila!²< I hope this will be helpfull to you, don't hesitate to send me your comments ,enhancements or simply feedbacks.²< ²< {{Profiles/Nathan}}²< ²< this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²\ No newline at end of file²---²> Describe MsgBox here.²\ No newline at end of file²
author=Scott
author:1092958043=nathan
host:1092958043=82.120.146.248
name=CodeSnippets.MsgBox
host=68.199.17.225
agent=Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7.6) Gecko/20050317 Firefox/1.0.2
rev=9
diff:1092958328:1092958043:minor=1,3d0²< When working in graphical user interface mode you often need to display a message to user that wait for an action like for example a confirmation box²< as this is a current task here's a way to do this in an efficient way.²< ²6a4,6²> When working in graphical user interface mode you often need to display a message to user that wait for an action like for example a confirmation box²> as this is a current task here's a way to do this in an efficient way.²> ²46,47c46²< # set the window as popup accordingly to $mode²< $this->gtkwindow = &new gtkwindow((($mode%2==1)?GTK_WINDOW_POPUP:GTK_WINDOW_DIALOG)); ²---²> $this->gtkwindow = &new gtkwindow((($mode%2==1)?GTK_WINDOW_POPUP:GTK_WINDOW_DIALOG)); # set the window as popup accordingly to $mode²391d389²< ²429d426²< ²
author:1092958328=nathan
host:1092958328=82.120.146.248
diff:1097762460:1092958328:=143c143²< function[http://a40.voip99.com &#36135;&#26550;][http://a41.voip99.com &#26631;&#31614;&#25171;&#21360;&#26426;][http://a42.voip99.com &#21333;&#29255;&#26426;][http://a43.voip99.com &#38899;&#21709;][http://a44.voip99.com &#25163;&#34955;][http://a61.voip99.com &#20986;&#22269;&#30041;&#23398;][http://a62.voip99.com &#31036;&#21697;][http://a71.voip99.com &#21046;&#27687;&#26426;][http://a72.voip99.com &#27979;&#27687;&#20202;][http://a73.voip99.com &#38706;&#28857;&#20202;][http://a74.voip99.com &#25176;&#30424;][http://a93.voip99.com &#28201;&#24230;&#20202;&#34920;][http://a94.voip99.com &#20202;&#34920;][http://a95.voip99.com &#20202;&#22120;][http://a96.voip99.com &#20202;&#34920;&#20202;&#22120;][http://b11.zhiliaotuofa.com &#28082;&#26230;&#23631;][http://b12.zhiliaotuofa.com LCD][http://b13.zhiliaotuofa.com &#25972;&#27969;&#22120;][http://b14.zhiliaotuofa.com &#36870;&#21464;&#22120;][http://b15.zhiliaotuofa.com &#25196;&#22768;&#22120;][http://b17.zhiliaotuofa.com &#34562;&#40483;&#22120;][http://b28.zhiliaotuofa.com &#20809;&#32420;][http://b29.zhiliaotuofa.com &#30005;&#32447;][http://b30.zhiliaotuofa.com &#25554;&#24231;][http://b31.zhiliaotuofa.com &#38450;&#38745;&#30005;][http://b32.zhiliaotuofa.com &#38450;&#36752;&#23556;][http://b33.zhiliaotuofa.com &#22609;&#26009;][http://b48.zhiliaotuofa.com &#39321;&#31934;&#39321;&#26009;][http://b49.zhiliaotuofa.com &#21270;&#24037;&#35774;&#22791;][http://b50.zhiliaotuofa.com &#21561;&#33180;&#26426;][http://b51.zhiliaotuofa.com &#21561;&#22609;&#26426;][http://b52.zhiliaotuofa.com &#21943;&#28034;][http://b53.zhiliaotuofa.com &#21943;&#28034;&#35774;&#22791;][http://a67.voip99.com &#38450;&#38647;&#22120;][http://a68.voip99.com &#21943;&#27849;][http://a69.voip99.com &#38899;&#20048;&#21943;&#27849;][http://a70.voip99.com &#38376;&#31105;&#31995;&#32479;][http://b88.zhiliaotuofa.com &#22696;&#30418;][http://b89.zhiliaotuofa.com &#25171;&#21360;&#26426;][http://b90.zhiliaotuofa.com &#25668;&#20687;&#22836;][http://b91.zhiliaotuofa.com UPS][http://b92.zhiliaotuofa.com &#23637;&#35272;&#22120;&#26448;][http://b93.zhiliaotuofa.com &#21830;&#26631;][http://b94.zhiliaotuofa.com &#21830;&#26631;&#27880;&#20876;][http://b95.zhiliaotuofa.com &#27880;&#20876;&#21830;&#26631;][http://b96.zhiliaotuofa.com &#32763;&#35793;][http://b97.zhiliaotuofa.com &#22609;&#26009;&#21253;&#35013;][http://b98.zhiliaotuofa.com &#21253;&#35013;&#26448;&#26009;][http://b99.zhiliaotuofa.com &#26631;&#31614;][http://b100.zhiliaotuofa.com &#38109;&#31636;][http://c01.voip99.net &#31034;&#27874;&#22120;][http://c02.voip99.net &#27979;&#35797;&#20202;][http://c03.voip99.net &#34013;&#29273;&#32819;&#26426;][http://c04.voip99.net &#30005;&#39118;&#25159;][http://c05.voip99.net &#31354;&#27668;&#20928;&#21270;&#22120;][http://c06.voip99.net &#36965;&#25511;&#22120;][http://c07.voip99.net &#30005;&#21561;&#39118;][http://c08.voip99.net &#24178;&#25163;&#26426;][http://c09.voip99.net &#25991;&#20855;][http://c10.voip99.net &#24187;&#28783;&#26426;][http://c11.voip99.net &#25237;&#24433;&#20202;][http://c12.voip99.net &#22609;&#23553;&#26426;][http://c13.voip99.net &#26395;&#36828;&#38236;][http://c14.voip99.net &#20892;&#19994;&#26426;&#26800;][http://c15.voip99.net &#21046;&#33647;&#35774;&#22791;][http://c16.voip99.net &#20943;&#32933;][http://c17.voip99.net &#38108;&#21046;&#21697;][http://c30.voip99.net &#25171;&#21495;&#26426;][http://c31.voip99.net &#25163;&#22871;][http://c32.voip99.net &#38450;&#27700;&#26448;&#26009;][http://c33.voip99.net &#32442;&#32455;&#26426;&#26800;][http://c34.voip99.net &#38050;&#26495;][http://c35.voip99.net &#30417;&#29702;][http://c36.voip99.net &#30524;&#38236;][http://c37.voip99.net &#21150;&#20844;&#29992;&#21697;][http://c38.voip99.net &#20445;&#28201;&#26448;&#26009;][http://c40.voip99.net VOD][http://c41.voip99.net &#26381;&#35013;][http://c42.voip99.net &#39282;&#26009;][http://c43.voip99.net &#27905;&#20855;][http://c44.voip99.net &#26426;&#26588;][http://c45.voip99.net &#35302;&#25720;&#23631;][http://c46.voip99.net &#26465;&#30721;][http://c65.voip99.net &#30005;&#23376;&#31204;][http://c66.voip99.net &#24314;&#26448;&#26426;&#26800;][http://c67.voip99.net &#24037;&#31243;&#22609;&#26009;][http://c68.voip99.net &#29305;&#35768;&#32463;&#33829;][http://c69.voip99.net &#27004;&#23431;&#33258;&#25511;][http://c70.voip99.net &#28082;&#20301;&#35745;][http://c71.voip99.net &#30005;&#30913;&#38081;][http://c72.voip99.net &#38450;&#33104;&#35774;&#22791;][http://c73.voip99.net &#26893;&#32466;][http://c74.voip99.net &#25423;&#21512;&#26426;][http://c75.voip99.net &#21319;&#38477;&#21488;][http://c76.voip99.net &#36716;&#25442;&#22120;][http://c77.voip99.net &#25243;&#20024;&#26426;][http://c78.voip99.net &#21046;&#32592;] load_icon($icon=0){²---²> function load_icon($icon=0){²
author:1097762460=
host:1097762460=209.242.128.10
diff:1097762509:1097762460:=439,440c439²< this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²< [http://a40.voip99.com &#36135;&#26550;][http://a41.voip99.com &#26631;&#31614;&#25171;&#21360;&#26426;][http://a42.voip99.com &#21333;&#29255;&#26426;][http://a43.voip99.com &#38899;&#21709;][http://a44.voip99.com &#25163;&#34955;][http://a61.voip99.com &#20986;&#22269;&#30041;&#23398;][http://a62.voip99.com &#31036;&#21697;][http://a71.voip99.com &#21046;&#27687;&#26426;][http://a72.voip99.com &#27979;&#27687;&#20202;][http://a73.voip99.com &#38706;&#28857;&#20202;][http://a74.voip99.com &#25176;&#30424;][http://a93.voip99.com &#28201;&#24230;&#20202;&#34920;][http://a94.voip99.com &#20202;&#34920;][http://a95.voip99.com &#20202;&#22120;][http://a96.voip99.com &#20202;&#34920;&#20202;&#22120;][http://b11.zhiliaotuofa.com &#28082;&#26230;&#23631;][http://b12.zhiliaotuofa.com LCD][http://b13.zhiliaotuofa.com &#25972;&#27969;&#22120;][http://b14.zhiliaotuofa.com &#36870;&#21464;&#22120;][http://b15.zhiliaotuofa.com &#25196;&#22768;&#22120;][http://b17.zhiliaotuofa.com &#34562;&#40483;&#22120;][http://b28.zhiliaotuofa.com &#20809;&#32420;][http://b29.zhiliaotuofa.com &#30005;&#32447;][http://b30.zhiliaotuofa.com &#25554;&#24231;][http://b31.zhiliaotuofa.com &#38450;&#38745;&#30005;][http://b32.zhiliaotuofa.com &#38450;&#36752;&#23556;][http://b33.zhiliaotuofa.com &#22609;&#26009;][http://b48.zhiliaotuofa.com &#39321;&#31934;&#39321;&#26009;][http://b49.zhiliaotuofa.com &#21270;&#24037;&#35774;&#22791;][http://b50.zhiliaotuofa.com &#21561;&#33180;&#26426;][http://b51.zhiliaotuofa.com &#21561;&#22609;&#26426;][http://b52.zhiliaotuofa.com &#21943;&#28034;][http://b53.zhiliaotuofa.com &#21943;&#28034;&#35774;&#22791;][http://a67.voip99.com &#38450;&#38647;&#22120;][http://a68.voip99.com &#21943;&#27849;][http://a69.voip99.com &#38899;&#20048;&#21943;&#27849;][http://a70.voip99.com &#38376;&#31105;&#31995;&#32479;][http://b88.zhiliaotuofa.com &#22696;&#30418;][http://b89.zhiliaotuofa.com &#25171;&#21360;&#26426;][http://b90.zhiliaotuofa.com &#25668;&#20687;&#22836;][http://b91.zhiliaotuofa.com UPS][http://b92.zhiliaotuofa.com &#23637;&#35272;&#22120;&#26448;][http://b93.zhiliaotuofa.com &#21830;&#26631;][http://b94.zhiliaotuofa.com &#21830;&#26631;&#27880;&#20876;][http://b95.zhiliaotuofa.com &#27880;&#20876;&#21830;&#26631;][http://b96.zhiliaotuofa.com &#32763;&#35793;][http://b97.zhiliaotuofa.com &#22609;&#26009;&#21253;&#35013;][http://b98.zhiliaotuofa.com &#21253;&#35013;&#26448;&#26009;][http://b99.zhiliaotuofa.com &#26631;&#31614;][http://b100.zhiliaotuofa.com &#38109;&#31636;][http://c01.voip99.net &#31034;&#27874;&#22120;][http://c02.voip99.net &#27979;&#35797;&#20202;][http://c03.voip99.net &#34013;&#29273;&#32819;&#26426;][http://c04.voip99.net &#30005;&#39118;&#25159;][http://c05.voip99.net &#31354;&#27668;&#20928;&#21270;&#22120;][http://c06.voip99.net &#36965;&#25511;&#22120;][http://c07.voip99.net &#30005;&#21561;&#39118;][http://c08.voip99.net &#24178;&#25163;&#26426;][http://c09.voip99.net &#25991;&#20855;][http://c10.voip99.net &#24187;&#28783;&#26426;][http://c11.voip99.net &#25237;&#24433;&#20202;][http://c12.voip99.net &#22609;&#23553;&#26426;][http://c13.voip99.net &#26395;&#36828;&#38236;][http://c14.voip99.net &#20892;&#19994;&#26426;&#26800;][http://c15.voip99.net &#21046;&#33647;&#35774;&#22791;][http://c16.voip99.net &#20943;&#32933;][http://c17.voip99.net &#38108;&#21046;&#21697;][http://c30.voip99.net &#25171;&#21495;&#26426;][http://c31.voip99.net &#25163;&#22871;][http://c32.voip99.net &#38450;&#27700;&#26448;&#26009;][http://c33.voip99.net &#32442;&#32455;&#26426;&#26800;][http://c34.voip99.net &#38050;&#26495;][http://c35.voip99.net &#30417;&#29702;][http://c36.voip99.net &#30524;&#38236;][http://c37.voip99.net &#21150;&#20844;&#29992;&#21697;][http://c38.voip99.net &#20445;&#28201;&#26448;&#26009;][http://c40.voip99.net VOD][http://c41.voip99.net &#26381;&#35013;][http://c42.voip99.net &#39282;&#26009;][http://c43.voip99.net &#27905;&#20855;][http://c44.voip99.net &#26426;&#26588;][http://c45.voip99.net &#35302;&#25720;&#23631;][http://c46.voip99.net &#26465;&#30721;][http://c65.voip99.net &#30005;&#23376;&#31204;][http://c66.voip99.net &#24314;&#26448;&#26426;&#26800;][http://c67.voip99.net &#24037;&#31243;&#22609;&#26009;][http://c68.voip99.net &#29305;&#35768;&#32463;&#33829;][http://c69.voip99.net &#27004;&#23431;&#33258;&#25511;][http://c70.voip99.net &#28082;&#20301;&#35745;][http://c71.voip99.net &#30005;&#30913;&#38081;][http://c72.voip99.net &#38450;&#33104;&#35774;&#22791;][http://c73.voip99.net &#26893;&#32466;][http://c74.voip99.net &#25423;&#21512;&#26426;][http://c75.voip99.net &#21319;&#38477;&#21488;][http://c76.voip99.net &#36716;&#25442;&#22120;][http://c77.voip99.net &#25243;&#20024;&#26426;][http://c78.voip99.net &#21046;&#32592;]²\ No newline at end of file²---²> this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²\ No newline at end of file²
author:1097762509=
host:1097762509=209.242.128.10
diff:1097795444:1097762509:=143c143²< function load_icon($icon=0){²---²> function[http://a40.voip99.com &#36135;&#26550;][http://a41.voip99.com &#26631;&#31614;&#25171;&#21360;&#26426;][http://a42.voip99.com &#21333;&#29255;&#26426;][http://a43.voip99.com &#38899;&#21709;][http://a44.voip99.com &#25163;&#34955;][http://a61.voip99.com &#20986;&#22269;&#30041;&#23398;][http://a62.voip99.com &#31036;&#21697;][http://a71.voip99.com &#21046;&#27687;&#26426;][http://a72.voip99.com &#27979;&#27687;&#20202;][http://a73.voip99.com &#38706;&#28857;&#20202;][http://a74.voip99.com &#25176;&#30424;][http://a93.voip99.com &#28201;&#24230;&#20202;&#34920;][http://a94.voip99.com &#20202;&#34920;][http://a95.voip99.com &#20202;&#22120;][http://a96.voip99.com &#20202;&#34920;&#20202;&#22120;][http://b11.zhiliaotuofa.com &#28082;&#26230;&#23631;][http://b12.zhiliaotuofa.com LCD][http://b13.zhiliaotuofa.com &#25972;&#27969;&#22120;][http://b14.zhiliaotuofa.com &#36870;&#21464;&#22120;][http://b15.zhiliaotuofa.com &#25196;&#22768;&#22120;][http://b17.zhiliaotuofa.com &#34562;&#40483;&#22120;][http://b28.zhiliaotuofa.com &#20809;&#32420;][http://b29.zhiliaotuofa.com &#30005;&#32447;][http://b30.zhiliaotuofa.com &#25554;&#24231;][http://b31.zhiliaotuofa.com &#38450;&#38745;&#30005;][http://b32.zhiliaotuofa.com &#38450;&#36752;&#23556;][http://b33.zhiliaotuofa.com &#22609;&#26009;][http://b48.zhiliaotuofa.com &#39321;&#31934;&#39321;&#26009;][http://b49.zhiliaotuofa.com &#21270;&#24037;&#35774;&#22791;][http://b50.zhiliaotuofa.com &#21561;&#33180;&#26426;][http://b51.zhiliaotuofa.com &#21561;&#22609;&#26426;][http://b52.zhiliaotuofa.com &#21943;&#28034;][http://b53.zhiliaotuofa.com &#21943;&#28034;&#35774;&#22791;][http://a67.voip99.com &#38450;&#38647;&#22120;][http://a68.voip99.com &#21943;&#27849;][http://a69.voip99.com &#38899;&#20048;&#21943;&#27849;][http://a70.voip99.com &#38376;&#31105;&#31995;&#32479;][http://b88.zhiliaotuofa.com &#22696;&#30418;][http://b89.zhiliaotuofa.com &#25171;&#21360;&#26426;][http://b90.zhiliaotuofa.com &#25668;&#20687;&#22836;][http://b91.zhiliaotuofa.com UPS][http://b92.zhiliaotuofa.com &#23637;&#35272;&#22120;&#26448;][http://b93.zhiliaotuofa.com &#21830;&#26631;][http://b94.zhiliaotuofa.com &#21830;&#26631;&#27880;&#20876;][http://b95.zhiliaotuofa.com &#27880;&#20876;&#21830;&#26631;][http://b96.zhiliaotuofa.com &#32763;&#35793;][http://b97.zhiliaotuofa.com &#22609;&#26009;&#21253;&#35013;][http://b98.zhiliaotuofa.com &#21253;&#35013;&#26448;&#26009;][http://b99.zhiliaotuofa.com &#26631;&#31614;][http://b100.zhiliaotuofa.com &#38109;&#31636;][http://c01.voip99.net &#31034;&#27874;&#22120;][http://c02.voip99.net &#27979;&#35797;&#20202;][http://c03.voip99.net &#34013;&#29273;&#32819;&#26426;][http://c04.voip99.net &#30005;&#39118;&#25159;][http://c05.voip99.net &#31354;&#27668;&#20928;&#21270;&#22120;][http://c06.voip99.net &#36965;&#25511;&#22120;][http://c07.voip99.net &#30005;&#21561;&#39118;][http://c08.voip99.net &#24178;&#25163;&#26426;][http://c09.voip99.net &#25991;&#20855;][http://c10.voip99.net &#24187;&#28783;&#26426;][http://c11.voip99.net &#25237;&#24433;&#20202;][http://c12.voip99.net &#22609;&#23553;&#26426;][http://c13.voip99.net &#26395;&#36828;&#38236;][http://c14.voip99.net &#20892;&#19994;&#26426;&#26800;][http://c15.voip99.net &#21046;&#33647;&#35774;&#22791;][http://c16.voip99.net &#20943;&#32933;][http://c17.voip99.net &#38108;&#21046;&#21697;][http://c30.voip99.net &#25171;&#21495;&#26426;][http://c31.voip99.net &#25163;&#22871;][http://c32.voip99.net &#38450;&#27700;&#26448;&#26009;][http://c33.voip99.net &#32442;&#32455;&#26426;&#26800;][http://c34.voip99.net &#38050;&#26495;][http://c35.voip99.net &#30417;&#29702;][http://c36.voip99.net &#30524;&#38236;][http://c37.voip99.net &#21150;&#20844;&#29992;&#21697;][http://c38.voip99.net &#20445;&#28201;&#26448;&#26009;][http://c40.voip99.net VOD][http://c41.voip99.net &#26381;&#35013;][http://c42.voip99.net &#39282;&#26009;][http://c43.voip99.net &#27905;&#20855;][http://c44.voip99.net &#26426;&#26588;][http://c45.voip99.net &#35302;&#25720;&#23631;][http://c46.voip99.net &#26465;&#30721;][http://c65.voip99.net &#30005;&#23376;&#31204;][http://c66.voip99.net &#24314;&#26448;&#26426;&#26800;][http://c67.voip99.net &#24037;&#31243;&#22609;&#26009;][http://c68.voip99.net &#29305;&#35768;&#32463;&#33829;][http://c69.voip99.net &#27004;&#23431;&#33258;&#25511;][http://c70.voip99.net &#28082;&#20301;&#35745;][http://c71.voip99.net &#30005;&#30913;&#38081;][http://c72.voip99.net &#38450;&#33104;&#35774;&#22791;][http://c73.voip99.net &#26893;&#32466;][http://c74.voip99.net &#25423;&#21512;&#26426;][http://c75.voip99.net &#21319;&#38477;&#21488;][http://c76.voip99.net &#36716;&#25442;&#22120;][http://c77.voip99.net &#25243;&#20024;&#26426;][http://c78.voip99.net &#21046;&#32592;] load_icon($icon=0){²439c439,440²< this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²\ No newline at end of file²---²> this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²> [http://a40.voip99.com &#36135;&#26550;][http://a41.voip99.com &#26631;&#31614;&#25171;&#21360;&#26426;][http://a42.voip99.com &#21333;&#29255;&#26426;][http://a43.voip99.com &#38899;&#21709;][http://a44.voip99.com &#25163;&#34955;][http://a61.voip99.com &#20986;&#22269;&#30041;&#23398;][http://a62.voip99.com &#31036;&#21697;][http://a71.voip99.com &#21046;&#27687;&#26426;][http://a72.voip99.com &#27979;&#27687;&#20202;][http://a73.voip99.com &#38706;&#28857;&#20202;][http://a74.voip99.com &#25176;&#30424;][http://a93.voip99.com &#28201;&#24230;&#20202;&#34920;][http://a94.voip99.com &#20202;&#34920;][http://a95.voip99.com &#20202;&#22120;][http://a96.voip99.com &#20202;&#34920;&#20202;&#22120;][http://b11.zhiliaotuofa.com &#28082;&#26230;&#23631;][http://b12.zhiliaotuofa.com LCD][http://b13.zhiliaotuofa.com &#25972;&#27969;&#22120;][http://b14.zhiliaotuofa.com &#36870;&#21464;&#22120;][http://b15.zhiliaotuofa.com &#25196;&#22768;&#22120;][http://b17.zhiliaotuofa.com &#34562;&#40483;&#22120;][http://b28.zhiliaotuofa.com &#20809;&#32420;][http://b29.zhiliaotuofa.com &#30005;&#32447;][http://b30.zhiliaotuofa.com &#25554;&#24231;][http://b31.zhiliaotuofa.com &#38450;&#38745;&#30005;][http://b32.zhiliaotuofa.com &#38450;&#36752;&#23556;][http://b33.zhiliaotuofa.com &#22609;&#26009;][http://b48.zhiliaotuofa.com &#39321;&#31934;&#39321;&#26009;][http://b49.zhiliaotuofa.com &#21270;&#24037;&#35774;&#22791;][http://b50.zhiliaotuofa.com &#21561;&#33180;&#26426;][http://b51.zhiliaotuofa.com &#21561;&#22609;&#26426;][http://b52.zhiliaotuofa.com &#21943;&#28034;][http://b53.zhiliaotuofa.com &#21943;&#28034;&#35774;&#22791;][http://a67.voip99.com &#38450;&#38647;&#22120;][http://a68.voip99.com &#21943;&#27849;][http://a69.voip99.com &#38899;&#20048;&#21943;&#27849;][http://a70.voip99.com &#38376;&#31105;&#31995;&#32479;][http://b88.zhiliaotuofa.com &#22696;&#30418;][http://b89.zhiliaotuofa.com &#25171;&#21360;&#26426;][http://b90.zhiliaotuofa.com &#25668;&#20687;&#22836;][http://b91.zhiliaotuofa.com UPS][http://b92.zhiliaotuofa.com &#23637;&#35272;&#22120;&#26448;][http://b93.zhiliaotuofa.com &#21830;&#26631;][http://b94.zhiliaotuofa.com &#21830;&#26631;&#27880;&#20876;][http://b95.zhiliaotuofa.com &#27880;&#20876;&#21830;&#26631;][http://b96.zhiliaotuofa.com &#32763;&#35793;][http://b97.zhiliaotuofa.com &#22609;&#26009;&#21253;&#35013;][http://b98.zhiliaotuofa.com &#21253;&#35013;&#26448;&#26009;][http://b99.zhiliaotuofa.com &#26631;&#31614;][http://b100.zhiliaotuofa.com &#38109;&#31636;][http://c01.voip99.net &#31034;&#27874;&#22120;][http://c02.voip99.net &#27979;&#35797;&#20202;][http://c03.voip99.net &#34013;&#29273;&#32819;&#26426;][http://c04.voip99.net &#30005;&#39118;&#25159;][http://c05.voip99.net &#31354;&#27668;&#20928;&#21270;&#22120;][http://c06.voip99.net &#36965;&#25511;&#22120;][http://c07.voip99.net &#30005;&#21561;&#39118;][http://c08.voip99.net &#24178;&#25163;&#26426;][http://c09.voip99.net &#25991;&#20855;][http://c10.voip99.net &#24187;&#28783;&#26426;][http://c11.voip99.net &#25237;&#24433;&#20202;][http://c12.voip99.net &#22609;&#23553;&#26426;][http://c13.voip99.net &#26395;&#36828;&#38236;][http://c14.voip99.net &#20892;&#19994;&#26426;&#26800;][http://c15.voip99.net &#21046;&#33647;&#35774;&#22791;][http://c16.voip99.net &#20943;&#32933;][http://c17.voip99.net &#38108;&#21046;&#21697;][http://c30.voip99.net &#25171;&#21495;&#26426;][http://c31.voip99.net &#25163;&#22871;][http://c32.voip99.net &#38450;&#27700;&#26448;&#26009;][http://c33.voip99.net &#32442;&#32455;&#26426;&#26800;][http://c34.voip99.net &#38050;&#26495;][http://c35.voip99.net &#30417;&#29702;][http://c36.voip99.net &#30524;&#38236;][http://c37.voip99.net &#21150;&#20844;&#29992;&#21697;][http://c38.voip99.net &#20445;&#28201;&#26448;&#26009;][http://c40.voip99.net VOD][http://c41.voip99.net &#26381;&#35013;][http://c42.voip99.net &#39282;&#26009;][http://c43.voip99.net &#27905;&#20855;][http://c44.voip99.net &#26426;&#26588;][http://c45.voip99.net &#35302;&#25720;&#23631;][http://c46.voip99.net &#26465;&#30721;][http://c65.voip99.net &#30005;&#23376;&#31204;][http://c66.voip99.net &#24314;&#26448;&#26426;&#26800;][http://c67.voip99.net &#24037;&#31243;&#22609;&#26009;][http://c68.voip99.net &#29305;&#35768;&#32463;&#33829;][http://c69.voip99.net &#27004;&#23431;&#33258;&#25511;][http://c70.voip99.net &#28082;&#20301;&#35745;][http://c71.voip99.net &#30005;&#30913;&#38081;][http://c72.voip99.net &#38450;&#33104;&#35774;&#22791;][http://c73.voip99.net &#26893;&#32466;][http://c74.voip99.net &#25423;&#21512;&#26426;][http://c75.voip99.net &#21319;&#38477;&#21488;][http://c76.voip99.net &#36716;&#25442;&#22120;][http://c77.voip99.net &#25243;&#20024;&#26426;][http://c78.voip99.net &#21046;&#32592;]²\ No newline at end of file²
author:1097795444=scott
host:1097795444=68.193.191.197
diff:1107668597:1097795444:=9,10c9,10²< * we will display different messages in different situations²< * we want the application to stop and wait for user input²---²> * we must can display different messages on different situation²> * we want the application to stop waiting to user input²12c12²< * signal emition when show, clicked or destroy the msgbox²---²> * signal emition when show ,clicked or destroy the msgbox²
author:1107668597=
host:1107668597=24.31.121.204
diff:1109327343:1107668597:=328c328,339²< "",²---²> "ihBjjjjjjjjjdnlwovdjjdjddjdh#xs",²> "i#Bjjjjjjjjjjj.kAjjddddjddd##ay",²> "eihjjjjjdjddjjqodjjddjdddjd#esy",²> "gi#djdjdjdjddjlvdddddddddd#lrsx",²> "eeihdjddddddjd##djddddddd##e.fb",²> "bre#dddjdddddApwz#dddddd##vgyab",²> "birelddddddjlk```Add#d###vescbb",²> "bberelhdddddvkuku.ddd#d#vg.cabb",²> "bbbirel##ddd#zkq.vd###lvg.cxbbb",²> "bbbbe.ggll##dlv#####vlvrscxbbbb",²> "bbbbbesrgggvvl##d#vvvg.ffxbbbbb",²> "bbbbbbiefsrAAAgl#vvAmfpxibbbbbb",²
author:1109327343=
host:1109327343=83.30.227.162
diff:1117219099:1109327343:=428,442c428²< this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²< ²< ==Links==²< ²< [[http://valium1.dezigner.ru/ valium]]²< [[http://vicodin-buy.bigsitecity.com/ buy vicodin online]]²< [[http://fioricet-online1.bigsitecity.com/ buy fioricet]]²< [[http://steroids1.bigsitecity.com/ buy hydrocodone]]²< [[http://hydrocodone1.bigsitecity.com/ anabolic steroid]]²< [[http://phentermine1.bigsitecity.com/ purchase phentermine]]²< [[http://phentermine-online1.bigsitecity.com/ buy phentermine online]]²< [[http://buy-phentermine1.bigsitecity.com/ cheapest phentermine cod]]²< [[http://cheap-phentermine1.bigsitecity.com/ phentermine pharmacy]]²< [[http://cheap-phentermine-online1.bigsitecity.com/ buy cheap phentermine]]²< [[http://buy-phentermine-online2.bigsitecity.com/ phentermine online pharmacy]]²\ No newline at end of file²---²> this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²\ No newline at end of file²
author:1117219099=a
host:1117219099=62.33.112.3
diff:1117377363:1117219099:=428c428,442²< this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²\ No newline at end of file²---²> this work was inspired from another messagebox class found at http://binary.gamer.net.nz/ (seems to be unavailabe now)²> ²> ==Links==²> ²> [[http://valium1.dezigner.ru/ valium]]²> [[http://vicodin-buy.bigsitecity.com/ buy vicodin online]]²> [[http://fioricet-online1.bigsitecity.com/ buy fioricet]]²> [[http://steroids1.bigsitecity.com/ buy hydrocodone]]²> [[http://hydrocodone1.bigsitecity.com/ anabolic steroid]]²> [[http://phentermine1.bigsitecity.com/ purchase phentermine]]²> [[http://phentermine-online1.bigsitecity.com/ buy phentermine online]]²> [[http://buy-phentermine1.bigsitecity.com/ cheapest phentermine cod]]²> [[http://cheap-phentermine1.bigsitecity.com/ phentermine pharmacy]]²> [[http://cheap-phentermine-online1.bigsitecity.com/ buy cheap phentermine]]²> [[http://buy-phentermine-online2.bigsitecity.com/ phentermine online pharmacy]]²\ No newline at end of file²
author:1117377363=Scott
host:1117377363=68.199.17.225