Class Inkscape::UI::Widget::ProgressPannel

From Inkscape Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Inkscape::UI::Widget::ProgressPannel

Discussion and documentation about Inkscape::UI::Widget::ProgressPannel class, a specific Inkscape widget.

ProgressPannel will replace the current content of the extension working dialog, defined inside execution-env.cpp and may be used on any other progress or loading related action on Inkscape.

The GUI pieces:

Progress-pannel-mockup.png

The panel by default starts with a empty icon, but set it is important for a fast and beauty visual communication.

Stock icons can be used with this constructor:

 Gtk::Image ( const Gtk::StockID& stock_id, IconSize size )

Example values:

 Gtk::Stock::DIALOG_INFO
 Gtk::ICON_SIZE_DIALOG

progressText may have variables to show optional values:

  • %1 : minimum value
  • %2 : maxmum value
  • %3 : current value
  • %4 : percentage value

Example: "building %3 of %2 pieces. %4%% done."

Extension-progress.png Saveing-progress.png Loading-fonts-progress.png

Source SVGs: Progress-pannel-mockup.svg Progress-pannel-examples-mockup.svg

Code

The progress_text must be updated together to the progress bar values. A possible updater code is:

 progress->set_text( Glib::ustring::compose(
     progress_text,
     Glib::ustring::format(std::dec, min),
     Glib::ustring::format(std::dec, max),
     Glib::ustring::format(std::dec, val),
     Glib::ustring::format(std::fixed, std::setprecision(pct_precision),
                           ((double)val-min)*100/(max-min) )