- Enable CPUPolicy configuration in the GUI through clicking on the
toolbar button about the "Scheduling policy". The same is true also for a ResourcePolicy. These two features will also need a related entry under the "Edit" menu. Closes task #15. git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@970 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
parent
9af2008050
commit
4f3e8f61df
5 changed files with 386 additions and 8 deletions
|
@ -21,26 +21,25 @@
|
|||
#include "config.h"
|
||||
#include "gettext.h"
|
||||
|
||||
#include "configure_policy_dialog.hh"
|
||||
#include "gui_builder.hh"
|
||||
#include "graphical_preferences_editor.hh"
|
||||
#include "schedulables_tree_widget.hh"
|
||||
#include "simulation_widget.hh"
|
||||
#include "resources_widget.hh"
|
||||
|
||||
#include "gui_builder.hh"
|
||||
#include "graphical_preferences_editor.hh"
|
||||
|
||||
#include "backend/cpu_policy_exception.hh"
|
||||
#include "backend/malformed_policy_exception.hh"
|
||||
#include "backend/null_policy_exception.hh"
|
||||
#include "backend/user_interrupt_exception.hh"
|
||||
|
||||
#include "backend/cpu_policies_gatekeeper.hh"
|
||||
#include "backend/cpu_policy.hh"
|
||||
#include "backend/cpu_policy_manager.hh"
|
||||
#include "backend/resource_policies_gatekeeper.hh"
|
||||
#include "backend/resource_policy_manager.hh"
|
||||
|
||||
|
||||
#include "backend/resource_policy.hh"
|
||||
#include "backend/history.hh"
|
||||
#include "backend/policy_parameters.hh"
|
||||
#include "backend/simulation.hh"
|
||||
#include "backend/serializers_gatekeeper.hh"
|
||||
#include "backend/serializer.hh"
|
||||
|
@ -51,6 +50,7 @@
|
|||
#include <glibmm/ustring.h>
|
||||
#include <gtkmm/aboutdialog.h>
|
||||
#include <gtkmm/messagedialog.h>
|
||||
#include <gtkmm/menutoolbutton.h>
|
||||
#include <gtkmm/filechooserdialog.h>
|
||||
#include <gtkmm/main.h>
|
||||
#include <gtkmm/menuitem.h>
|
||||
|
@ -197,10 +197,52 @@ GuiBuilder::on_file_saveas_activate()
|
|||
Gtk::Statusbar* sbar = _refXml->get_widget("MainStatusBar", sbar);
|
||||
sbar->push(msg);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
GuiBuilder::on_configure_cpu_policy()
|
||||
{
|
||||
using namespace Gtk;
|
||||
|
||||
CPUPolicy* policy = Simulation::get_instance().get_policy();
|
||||
|
||||
if(policy == NULL)
|
||||
{
|
||||
MessageDialog warn(_("<b>No CPU policy is currently selected.</b>\nPlease choose one before trying to configure it."),
|
||||
true, MESSAGE_WARNING, BUTTONS_OK, true);
|
||||
warn.run();
|
||||
return;
|
||||
}
|
||||
|
||||
PolicyParameters& params = policy->get_parameters();
|
||||
ConfigurePolicyDialog config_dialog(_("Configuring CPU Policy ") + policy->get_name(), params);
|
||||
config_dialog.run();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
GuiBuilder::on_configure_resource_policy()
|
||||
{
|
||||
using namespace Gtk;
|
||||
|
||||
ResourcePolicy* policy = Simulation::get_instance().get_resource_policy();
|
||||
|
||||
if(policy == NULL)
|
||||
{
|
||||
MessageDialog warn(_("<b>No CPU policy is currently selected.</b>\nPlease choose one before trying to configure it."),
|
||||
true, MESSAGE_WARNING, BUTTONS_OK, true);
|
||||
warn.run();
|
||||
return;
|
||||
}
|
||||
|
||||
PolicyParameters& params = policy->get_parameters();
|
||||
ConfigurePolicyDialog config_dialog(_("Configuring CPU Policy ") + policy->get_name(), params);
|
||||
config_dialog.run();
|
||||
}
|
||||
|
||||
|
||||
|
||||
GuiBuilder::GuiBuilder(const std::string& gladefile)
|
||||
: _refXml(Xml::create(gladefile)), _controller(Simulation::get_instance(), _refXml)
|
||||
{
|
||||
|
@ -237,6 +279,22 @@ GuiBuilder::GuiBuilder(const std::string& gladefile)
|
|||
edit_preferences->signal_activate().connect(sigc::mem_fun(*this, &GuiBuilder::on_edit_preferences_activate));
|
||||
|
||||
|
||||
// ---------------- Toolbar buttons ------------------
|
||||
|
||||
// Note: the Play, Pause and Stop buttons are already managed by sgpem::SimulationController.
|
||||
|
||||
// Configure CPU Policy
|
||||
MenuToolButton* cpu_policies_tb_menu;
|
||||
_refXml->get_widget("ToolBar.PolicySelector", cpu_policies_tb_menu);
|
||||
cpu_policies_tb_menu->signal_clicked().connect(sigc::mem_fun(*this, &GuiBuilder::on_configure_cpu_policy));
|
||||
|
||||
// Configure Resource Policy
|
||||
MenuToolButton* res_policies_tb_menu;
|
||||
_refXml->get_widget("ToolBar.ResourceScheduling", res_policies_tb_menu);
|
||||
res_policies_tb_menu->signal_clicked().connect(sigc::mem_fun(*this, &GuiBuilder::on_configure_resource_policy));
|
||||
|
||||
// ---------------------------------------------------
|
||||
|
||||
// About dialog
|
||||
MenuItem* help_about;
|
||||
_refXml->get_widget("MenuItem.Help.About", help_about);
|
||||
|
@ -256,6 +314,7 @@ GuiBuilder::GuiBuilder(const std::string& gladefile)
|
|||
scheds_tree->show();
|
||||
|
||||
|
||||
// Resources ListView widget
|
||||
ResourcesWidget* resources_widget = NULL;
|
||||
_refXml->get_widget_derived("Resources.Tree", resources_widget);
|
||||
resources_widget->show();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue