Re: PEAR Installer GUI project
| From: | Alan Knowles | Date: | Sun, 26 May 2002 15:14:14 +0000 |
| Subject: | Re: PEAR Installer GUI project | ||
| References: | 1 2 3 4 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-6436@lists.php.net to get a copy of this message | ||
Ok gimp attack :) -
these are designs not screen shots :)
http://docs.akbkhome.com/Frontend/installer_details.jpg
http://docs.akbkhome.com/Frontend/installer_basic.jpg
I'm looking at doing something similar to mozilla's prefs, tree + nice simple interface that changes about 2/3 items and has loads of text to explain what it's for.... ** one thought is that it may eventually do php.ini????/ - but not now....A PEAR config tab - where do want to install etc.....Yup. There should be plenty of information you can get from PEAR_Config for implementing a config tab. You're able to determine if a parameter should be accompagnied by a file selector, a dropdown/select box or a simple checkbox. Actually - as programmers we love adding config stuff, and automating the 'build options', however if you look at mozilla/and some of the better gnome apps. (and probably the better mac ones), config stuff is usually hand designed.. and has to be very carefully looked at..
it may be advantagous to add progress information - eg. if you are installing a package that auto downloads dependancies $this->ui->progress_dialog('Transfering 1/2',1) $this->ui->progress_dialog('Transfering 2/2',2) $this->ui->progress_dialog_close(); A status indication callback is already in place in the downloading function (PEAR_Common::downloadHttp). Will look into...
The other issue that make life difficult is that code like this in PEAR_Remote will totally freeze the user interface if the application (you have to either use while(gtk::event_pending()) gtk::main_interation(); or use gtk_input_add($fp,array(&$this,'got_data'));Right. More Frontend class fodder then. - Stig} while (trim(fgets($fp, 2048)) != ''); // skip rest of headers while ($chunk = fread($fp, 10240)) { $response .= $chunk; }and again break the method up - so that it call this->ui->fetch_data($fp,array(&$this,'tranfer_completed')); thats all for this morning..