- modified holt_widget to show processes or threads
- updated test-holt_widget to show processes or threads git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@930 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
parent
8911016da8
commit
2ff804ecbe
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "cairo_elements.hh"
|
||||
#include "backend/history.hh"
|
||||
#include "backend/process.hh"
|
||||
#include "backend/schedulable.hh"
|
||||
#include "backend/resource.hh"
|
||||
#include "backend/simulation.hh"
|
||||
#include "backend/string_utils.hh"
|
||||
|
@ -151,35 +151,39 @@ Vec2 HoltResource::get_intersection_to(Vec2 pt)
|
|||
|
||||
|
||||
|
||||
HoltProcess::HoltProcess(const Process& process, Vec2 pt)
|
||||
HoltSchedulable::HoltSchedulable(const Schedulable& schedulable, Vec2 pt)
|
||||
: HoltNode(pt)
|
||||
{
|
||||
_process = &process;
|
||||
_schedulable = &schedulable;
|
||||
}
|
||||
|
||||
HoltProcess::~HoltProcess()
|
||||
HoltSchedulable::~HoltSchedulable()
|
||||
{
|
||||
}
|
||||
|
||||
void HoltProcess::draw(cairo_t *cr)
|
||||
void HoltSchedulable::draw(cairo_t *cr)
|
||||
{
|
||||
cairo_save(cr); // save context state
|
||||
|
||||
// draw circle
|
||||
cairo_arc (cr, _pos.real(), _pos.imag(), _radius, 0, 2 * M_PI);
|
||||
// filling
|
||||
switch(_process->get_state())
|
||||
switch(_schedulable->get_state())
|
||||
{
|
||||
case Schedulable::state_running:
|
||||
cairo_set_source_rgb (cr, 0.5, 1, 0.5);
|
||||
//cairo_set_source_rgb (cr, 0.5, 1, 0.5);
|
||||
cairo_set_source_rgb (cr, 0, 1, 0);
|
||||
break;
|
||||
case Schedulable::state_ready:
|
||||
cairo_set_source_rgb (cr, 1, 1, 0.5);
|
||||
// cairo_set_source_rgb (cr, 1, 1, 0.5);
|
||||
cairo_set_source_rgb (cr, 1, 1, 0);
|
||||
break;
|
||||
case Schedulable::state_blocked:
|
||||
cairo_set_source_rgb (cr, 1, 0.5, 0.5);
|
||||
// cairo_set_source_rgb (cr, 1, 0.5, 0.5);
|
||||
cairo_set_source_rgb (cr, 1, 0, 0);
|
||||
break;
|
||||
case Schedulable::state_future:
|
||||
// cairo_set_source_rgb (cr, 0.5, 0.5, 1);
|
||||
cairo_set_source_rgb (cr, 0.5, 0.5, 1);
|
||||
break;
|
||||
case Schedulable::state_terminated:
|
||||
|
@ -195,10 +199,10 @@ void HoltProcess::draw(cairo_t *cr)
|
|||
cairo_clip_preserve (cr);
|
||||
// draw text
|
||||
cairo_text_extents_t extents;
|
||||
cairo_text_extents(cr, _process->get_name().c_str(), &extents);
|
||||
cairo_text_extents(cr, _schedulable->get_name().c_str(), &extents);
|
||||
// cairo_move_to(cr, xpos - _radius, ypos - _radius + extents.height);
|
||||
cairo_move_to(cr, _pos.real() - extents.width/2, _pos.imag() + extents.height/2);
|
||||
cairo_show_text(cr, _process->get_name().c_str());
|
||||
cairo_show_text(cr, _schedulable->get_name().c_str());
|
||||
cairo_reset_clip (cr); // reset clip region
|
||||
|
||||
// stroke all
|
||||
|
@ -206,7 +210,7 @@ void HoltProcess::draw(cairo_t *cr)
|
|||
cairo_restore(cr); // restore context state
|
||||
}
|
||||
|
||||
Vec2 HoltProcess::get_intersection_to(Vec2 pt)
|
||||
Vec2 HoltSchedulable::get_intersection_to(Vec2 pt)
|
||||
{
|
||||
Vec2 final = _pos;
|
||||
Vec2 segment = pt - _pos;
|
||||
|
@ -221,7 +225,7 @@ Vec2 HoltProcess::get_intersection_to(Vec2 pt)
|
|||
|
||||
|
||||
|
||||
HoltRequest::HoltRequest(HoltProcess& hp, HoltResource& hr, Request::state state)
|
||||
HoltRequest::HoltRequest(HoltSchedulable& hp, HoltResource& hr, Request::state state)
|
||||
: _hp(&hp),
|
||||
_hr(&hr),
|
||||
_state(state)
|
||||
|
@ -295,6 +299,7 @@ HoltWidget::HoltWidget(Simulation& simulation)
|
|||
_n_proc(0),
|
||||
_n_res(0),
|
||||
_radius(20),
|
||||
_show_threads(false),
|
||||
_arrange_mode(arrange_horizontal)
|
||||
|
||||
{
|
||||
|
@ -329,7 +334,7 @@ HoltWidget::set_radius(double radius)
|
|||
double old_radius = _radius;
|
||||
if(radius>0)
|
||||
_radius = radius;
|
||||
resize_redraw();
|
||||
// resize_redraw();
|
||||
return old_radius;
|
||||
}
|
||||
|
||||
|
@ -345,13 +350,14 @@ HoltWidget::set_arrange_mode(arrange_mode mode)
|
|||
arrange_mode old_mode = _arrange_mode;
|
||||
_arrange_mode = mode;
|
||||
arrange();
|
||||
resize_redraw();
|
||||
// resize_redraw();
|
||||
return old_mode;
|
||||
}
|
||||
|
||||
void
|
||||
HoltWidget::arrange()
|
||||
{
|
||||
std::cout << "HoltWidget::arrange" << endl;
|
||||
// cout << "START:" << endl;
|
||||
// _x_req = 0;
|
||||
// _y_req = 0;
|
||||
|
@ -371,7 +377,7 @@ HoltWidget::arrange()
|
|||
{
|
||||
int sx = _draw_w; // get_width();
|
||||
int sy = _draw_h; // get_height();
|
||||
int nelem = _holt_resources.size()+_holt_processes.size();
|
||||
int nelem = _holt_resources.size()+_holt_schedulables.size();
|
||||
if(sx<=sy)
|
||||
inc = Vec2(sx/2-2*_radius, 0);
|
||||
else
|
||||
|
@ -423,10 +429,10 @@ HoltWidget::arrange()
|
|||
inc = Vec2(0, 3*_radius);
|
||||
}
|
||||
typedef HoltProcesses::const_iterator holt_proc_iterator;
|
||||
holt_proc_iterator piter = _holt_processes.begin();
|
||||
while(piter!=_holt_processes.end())
|
||||
holt_proc_iterator piter = _holt_schedulables.begin();
|
||||
while(piter!=_holt_schedulables.end())
|
||||
{
|
||||
HoltProcess* hp = (*piter);
|
||||
HoltSchedulable* hp = (*piter);
|
||||
// cout << "p-A) pos=" << pos << " cen=" << cen << " inc=" << inc << " mul=" << mul << endl;
|
||||
hp->set_position(pos);
|
||||
hp->set_radius(_radius);
|
||||
|
@ -452,9 +458,29 @@ HoltWidget::arrange()
|
|||
}
|
||||
|
||||
|
||||
bool
|
||||
HoltWidget::get_show_threads()
|
||||
{
|
||||
return _show_threads;
|
||||
}
|
||||
|
||||
bool
|
||||
HoltWidget::set_show_threads(bool show)
|
||||
{
|
||||
bool old_show = _show_threads;
|
||||
_show_threads = show;
|
||||
// resize_redraw();
|
||||
return old_show;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void
|
||||
HoltWidget::update(const Simulation& changed_simulation)
|
||||
{
|
||||
std::cout << "HoltWidget::update - Simulation" << endl;
|
||||
// Force redraw
|
||||
//redraw();
|
||||
acquire();
|
||||
|
@ -465,6 +491,7 @@ HoltWidget::update(const Simulation& changed_simulation)
|
|||
void
|
||||
HoltWidget::update(const History& changed_history)
|
||||
{
|
||||
std::cout << "HoltWidget::update - History" << endl;
|
||||
// Force redraw
|
||||
//redraw();
|
||||
//acquire();
|
||||
|
@ -477,8 +504,9 @@ HoltWidget::update(const History& changed_history)
|
|||
void
|
||||
HoltWidget::acquire()
|
||||
{
|
||||
std::cout << "HoltWidget::acquire" << endl;
|
||||
_holt_resources.clear();
|
||||
_holt_processes.clear();
|
||||
_holt_schedulables.clear();
|
||||
_holt_requests.clear();
|
||||
_n_res = _n_proc = 0;
|
||||
|
||||
|
@ -517,9 +545,13 @@ HoltWidget::acquire()
|
|||
|| proc_state==Schedulable::state_blocked )
|
||||
{
|
||||
_n_proc++;
|
||||
HoltProcess *hp = new HoltProcess(*p, pos);
|
||||
_holt_processes.push_back(hp);
|
||||
HoltSchedulable *hp;
|
||||
if(!_show_threads)
|
||||
{
|
||||
hp = new HoltSchedulable(*p, pos);
|
||||
_holt_schedulables.push_back(hp);
|
||||
pos += Vec2(4*_radius, 0);
|
||||
}
|
||||
|
||||
// iter trough threads, requests, subrequests
|
||||
// FIXME
|
||||
|
@ -543,6 +575,12 @@ HoltWidget::acquire()
|
|||
|| thr_state==Schedulable::state_blocked )
|
||||
{
|
||||
|
||||
if(_show_threads)
|
||||
{
|
||||
hp = new HoltSchedulable(*t, pos);
|
||||
_holt_schedulables.push_back(hp);
|
||||
pos += Vec2(4*_radius, 0);
|
||||
}
|
||||
// iter trough requests
|
||||
const std::vector<Request*>& rvect = t->get_requests();
|
||||
std::vector<Request*>::const_iterator req_iter = rvect.begin();
|
||||
|
@ -570,6 +608,7 @@ HoltWidget::acquire()
|
|||
HoltResources::const_iterator hpos = _holt_resources.find(sr->get_resource_key());
|
||||
if (pos != env.get_resources().end() && hpos!=_holt_resources.end())
|
||||
{
|
||||
// associates process (or thread) with resource)
|
||||
HoltRequest *hreq = new HoltRequest(*hp, *(hpos->second), sr->get_state());
|
||||
_holt_requests.push_back(hreq);
|
||||
// cout << "added HoltRequest\n"
|
||||
|
@ -597,6 +636,7 @@ HoltWidget::acquire()
|
|||
void
|
||||
HoltWidget::draw_widget(cairo_t* ctx)
|
||||
{
|
||||
std::cout << "HoltWidget::draw_widget" << endl;
|
||||
arrange();
|
||||
typedef HoltResources::const_iterator holt_res_iterator;
|
||||
holt_res_iterator riter = _holt_resources.begin();
|
||||
|
@ -608,10 +648,10 @@ HoltWidget::draw_widget(cairo_t* ctx)
|
|||
}
|
||||
|
||||
typedef HoltProcesses::const_iterator holt_proc_iterator;
|
||||
holt_proc_iterator piter = _holt_processes.begin();
|
||||
while(piter!=_holt_processes.end())
|
||||
holt_proc_iterator piter = _holt_schedulables.begin();
|
||||
while(piter!=_holt_schedulables.end())
|
||||
{
|
||||
HoltProcess* hp = (*piter);
|
||||
HoltSchedulable* hp = (*piter);
|
||||
hp->draw(ctx);
|
||||
piter++;
|
||||
}
|
||||
|
@ -633,6 +673,7 @@ HoltWidget::draw_widget(cairo_t* ctx)
|
|||
void
|
||||
HoltWidget::calc_drawing_size(cairo_t* ctx, size_t& width, size_t& height)
|
||||
{
|
||||
cout << "Holt widget BEFORE calc_drawing_size width=" << width << " height=" << height << endl;
|
||||
// int pos = _simulation->get_front();
|
||||
// const History& hist = _simulation->get_history();
|
||||
int max = _n_proc;
|
||||
|
@ -673,11 +714,12 @@ HoltWidget::calc_drawing_size(cairo_t* ctx, size_t& width, size_t& height)
|
|||
width = height = diam + 4 * _radius;
|
||||
break;
|
||||
}
|
||||
// cout << "Holt widget width=" << width << " height=" << height << endl;
|
||||
cout << "Holt widget AFTER calc_drawing_size width=" << width << " height=" << height << endl;
|
||||
}
|
||||
|
||||
void
|
||||
HoltWidget::calc_widget_size(size_t& width, size_t& height)
|
||||
{
|
||||
cout << "Holt widget BEFORE calc_widget_size width=" << width << " height=" << height << endl;
|
||||
width = height = 20; // default minimum size
|
||||
}
|
||||
|
|
|
@ -31,15 +31,10 @@
|
|||
#include <complex>
|
||||
|
||||
|
||||
// *********************************************************************************
|
||||
// ---------------------------------------------------------------------------------
|
||||
//
|
||||
// BEGIN - inserted from old version
|
||||
//
|
||||
namespace sgpem
|
||||
{
|
||||
class History;
|
||||
class Process;
|
||||
class Schedulable;
|
||||
class Resource;
|
||||
}
|
||||
|
||||
|
@ -93,110 +88,38 @@ namespace sgpem
|
|||
};
|
||||
|
||||
|
||||
class HoltProcess : public HoltNode
|
||||
class HoltSchedulable : public HoltNode
|
||||
{
|
||||
public:
|
||||
//HoltProcess(const Process& process, double x=0.0, double y=0.0);
|
||||
HoltProcess(const Process& process, Vec2 pt = Vec2(0.0, 0.0));
|
||||
virtual ~HoltProcess();
|
||||
//HoltSchedulable(const Schedulable& schedulable, double x=0.0, double y=0.0);
|
||||
HoltSchedulable(const Schedulable& schedulable, Vec2 pt = Vec2(0.0, 0.0));
|
||||
virtual ~HoltSchedulable();
|
||||
|
||||
virtual void draw(cairo_t *cr);
|
||||
virtual Vec2 get_intersection_to(Vec2 pt);
|
||||
protected:
|
||||
private:
|
||||
const Process* _process;
|
||||
const Schedulable* _schedulable;
|
||||
};
|
||||
|
||||
class HoltRequest
|
||||
{
|
||||
public:
|
||||
HoltRequest(HoltProcess& hp, HoltResource& hr, Request::state state);
|
||||
HoltRequest(HoltSchedulable& hp, HoltResource& hr, Request::state state);
|
||||
virtual ~HoltRequest();
|
||||
|
||||
virtual void draw(cairo_t *cr);
|
||||
virtual void arrow(cairo_t *cr, Vec2 first, Vec2 second);
|
||||
protected:
|
||||
private:
|
||||
HoltProcess* _hp;
|
||||
HoltSchedulable* _hp;
|
||||
HoltResource* _hr;
|
||||
Request::state _state;
|
||||
};
|
||||
|
||||
/*
|
||||
class HoltGraph : public Gtk::DrawingArea
|
||||
{
|
||||
public:
|
||||
enum arrange_mode
|
||||
{
|
||||
arrange_horizontal = 1 << 0,
|
||||
arrange_vertical = 1 << 1,
|
||||
arrange_circular = 1 << 2
|
||||
};
|
||||
enum resize_mode
|
||||
{
|
||||
resize_none = 0,
|
||||
resize_radius = 1 << 0,
|
||||
resize_distance = 1 << 1,
|
||||
resize_both = resize_radius | resize_distance,
|
||||
resize_asymetrical = 0,
|
||||
resize_symetrical = 1 << 2
|
||||
};
|
||||
typedef std::map<resource_key_t, HoltResource*> HoltResources;
|
||||
typedef std::vector<HoltProcess*> HoltProcesses;
|
||||
typedef std::vector<HoltRequest*> HoltRequests;
|
||||
|
||||
HoltGraph();
|
||||
virtual ~HoltGraph();
|
||||
|
||||
void set_history(const sgpem::History& hist);
|
||||
arrange_mode get_arrange_mode();
|
||||
arrange_mode set_arrange_mode(arrange_mode mode);
|
||||
resize_mode get_resize_mode();
|
||||
resize_mode set_resize_mode(resize_mode mode);
|
||||
void arrange();
|
||||
|
||||
protected:
|
||||
//Overridden default signal handlers:
|
||||
virtual void on_realize();
|
||||
virtual bool on_expose_event(GdkEventExpose* e);
|
||||
virtual void on_size_request(Gtk::Requisition* requisition);
|
||||
virtual void on_size_allocate(Gtk::Allocation& allocation);
|
||||
|
||||
Glib::RefPtr<Gdk::GC> gc_;
|
||||
Gdk::Color blue_, red_;
|
||||
Gdk::Color filler_, back_;
|
||||
|
||||
|
||||
private:
|
||||
const sgpem::History* _hist;
|
||||
double _radius;
|
||||
double _eff_radius;
|
||||
double _x_dist;
|
||||
double _y_dist;
|
||||
double _x_req;
|
||||
double _y_req;
|
||||
|
||||
HoltResources _holt_resources;
|
||||
HoltProcesses _holt_processes;
|
||||
HoltRequests _holt_requests;
|
||||
|
||||
arrange_mode _arrange_mode;
|
||||
resize_mode _resize_mode;
|
||||
};
|
||||
*/
|
||||
|
||||
} // end namespace sgpem
|
||||
|
||||
//
|
||||
// END - inserted from old version
|
||||
//
|
||||
// ---------------------------------------------------------------------------------
|
||||
// *********************************************************************************
|
||||
|
||||
|
||||
|
||||
namespace sgpem
|
||||
{
|
||||
class HoltWidget
|
||||
: public SimulationObserver,
|
||||
public HistoryObserver,
|
||||
|
@ -211,7 +134,7 @@ namespace sgpem
|
|||
};
|
||||
|
||||
typedef std::map<resource_key_t, HoltResource*> HoltResources;
|
||||
typedef std::vector<HoltProcess*> HoltProcesses;
|
||||
typedef std::vector<HoltSchedulable*> HoltProcesses;
|
||||
typedef std::vector<HoltRequest*> HoltRequests;
|
||||
|
||||
HoltWidget(Simulation& simulation);
|
||||
|
@ -226,6 +149,8 @@ namespace sgpem
|
|||
arrange_mode get_arrange_mode();
|
||||
arrange_mode set_arrange_mode(arrange_mode mode);
|
||||
void arrange();
|
||||
bool get_show_threads();
|
||||
bool set_show_threads(bool show);
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -242,12 +167,13 @@ namespace sgpem
|
|||
double _radius;
|
||||
|
||||
HoltResources _holt_resources;
|
||||
HoltProcesses _holt_processes;
|
||||
HoltProcesses _holt_schedulables;
|
||||
HoltRequests _holt_requests;
|
||||
int _n_proc;
|
||||
int _n_res;
|
||||
|
||||
arrange_mode _arrange_mode;
|
||||
bool _show_threads;
|
||||
};
|
||||
|
||||
} //~ namespace sgpem
|
||||
|
|
|
@ -243,6 +243,7 @@ protected:
|
|||
virtual void on_button_stop_clicked();
|
||||
virtual void on_button_pause_clicked();
|
||||
virtual void on_button_runmode_clicked();
|
||||
virtual void on_button_showthreads_clicked();
|
||||
virtual void on_buttons_radio_clicked();
|
||||
virtual void on_buttons_radio_disp_clicked();
|
||||
virtual bool on_timer_timeout();
|
||||
|
@ -254,6 +255,7 @@ protected:
|
|||
Gtk::Button _stop_button;
|
||||
Gtk::Button _pause_button;
|
||||
Gtk::CheckButton _runmode_button;
|
||||
Gtk::CheckButton _showthreads_button;
|
||||
Gtk::RadioButton _noscale_radio;
|
||||
Gtk::RadioButton _fit_radio;
|
||||
Gtk::RadioButton _stretch_radio;
|
||||
|
@ -276,6 +278,7 @@ MainWindow::MainWindow(Simulation& simulation)
|
|||
_stop_button("Stop"),
|
||||
_pause_button("Pause"),
|
||||
_runmode_button("Continue"),
|
||||
_showthreads_button("Show threads"),
|
||||
_noscale_radio("no scale"),
|
||||
_fit_radio("scale all"),
|
||||
_stretch_radio("stretch"),
|
||||
|
@ -299,6 +302,10 @@ MainWindow::MainWindow(Simulation& simulation)
|
|||
_runmode_button.set_active(false);
|
||||
_runmode_button.show();
|
||||
|
||||
_buttons_box.pack_start(_showthreads_button);
|
||||
_showthreads_button.set_active(false);
|
||||
_showthreads_button.show();
|
||||
|
||||
// scale radio buttons
|
||||
Gtk::RadioButton::Group group = _noscale_radio.get_group();
|
||||
_fit_radio.set_group(group);
|
||||
|
@ -348,6 +355,7 @@ MainWindow::MainWindow(Simulation& simulation)
|
|||
_stop_button.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::on_button_stop_clicked), true );
|
||||
_pause_button.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::on_button_pause_clicked), true );
|
||||
_runmode_button.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::on_button_runmode_clicked), true );
|
||||
_showthreads_button.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::on_button_showthreads_clicked), true );
|
||||
|
||||
_noscale_radio.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::on_buttons_radio_clicked), true );
|
||||
_fit_radio.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::on_buttons_radio_clicked), true );
|
||||
|
@ -359,6 +367,9 @@ MainWindow::MainWindow(Simulation& simulation)
|
|||
|
||||
Glib::signal_timeout().connect(sigc::mem_fun(*this, &MainWindow::on_timer_timeout), 1000);
|
||||
|
||||
on_button_runmode_clicked();
|
||||
on_button_showthreads_clicked();
|
||||
|
||||
//is equivalent to:
|
||||
/*
|
||||
const Glib::RefPtr<Glib::TimeoutSource> timeout_source = Glib::TimeoutSource::create(1000);
|
||||
|
@ -373,6 +384,7 @@ MainWindow::~MainWindow()
|
|||
|
||||
void MainWindow::on_button_start_clicked()
|
||||
{
|
||||
std::cout << "on_button_start_clicked" << endl;
|
||||
if(_sim_state == Simulation::state_stopped
|
||||
|| _sim_state == Simulation::state_paused)
|
||||
{
|
||||
|
@ -392,6 +404,7 @@ void MainWindow::on_button_start_clicked()
|
|||
}
|
||||
void MainWindow::on_button_stop_clicked()
|
||||
{
|
||||
std::cout << "on_button_stop_clicked" << endl;
|
||||
if(_sim_state == Simulation::state_running
|
||||
|| _sim_state == Simulation::state_paused)
|
||||
{
|
||||
|
@ -402,6 +415,7 @@ void MainWindow::on_button_stop_clicked()
|
|||
}
|
||||
void MainWindow::on_button_pause_clicked()
|
||||
{
|
||||
std::cout << "on_button_pause_clicked" << endl;
|
||||
if(_sim_state == Simulation::state_running)
|
||||
{
|
||||
_sim_state = Simulation::state_paused;
|
||||
|
@ -411,12 +425,23 @@ void MainWindow::on_button_pause_clicked()
|
|||
_sim_state = Simulation::state_running;
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_button_runmode_clicked()
|
||||
{
|
||||
std::cout << "on_button_runmode_clicked" << endl;
|
||||
}
|
||||
|
||||
void MainWindow::on_button_showthreads_clicked()
|
||||
{
|
||||
std::cout << "on_button_showthreads_clicked" << endl;
|
||||
_holt_widget.set_show_threads(_showthreads_button.get_active());
|
||||
_holt_widget.resize_redraw();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_buttons_radio_clicked()
|
||||
{
|
||||
std::cout << "on_buttons_radio_clicked" << endl;
|
||||
if(_noscale_radio.get_active())
|
||||
{
|
||||
// std::cout << "scaling_none" << endl;
|
||||
|
@ -443,6 +468,7 @@ void MainWindow::on_buttons_radio_clicked()
|
|||
|
||||
void MainWindow::on_buttons_radio_disp_clicked()
|
||||
{
|
||||
std::cout << "on_buttons_radio_disp_clicked" << endl;
|
||||
if(_horizontal_radio.get_active())
|
||||
{
|
||||
// std::cout << "_horizontal_radio" << endl;
|
||||
|
@ -570,11 +596,11 @@ void fillHistory(History &hist)
|
|||
History::ResourcePair respair = hist.add_resource(Glib::ustring("Resource 1"), false, 1, 2);
|
||||
|
||||
// add a resource - name, preemptable, places, availability
|
||||
History::ResourcePair respair2 = hist.add_resource(Glib::ustring("Invalid? Resource <n> 1"), false, 1, 2);
|
||||
History::ResourcePair respair2 = hist.add_resource(Glib::ustring("Very Long Named Resource 2"), false, 1, 2);
|
||||
|
||||
// delete resources to kreate a key numbering hole
|
||||
hist.remove(respair0.first);
|
||||
hist.remove(respair00.first);
|
||||
// hist.remove(respair0.first);
|
||||
// hist.remove(respair00.first);
|
||||
|
||||
// add a process - name, arrival time, priority
|
||||
Process& p1 = hist.add_process(Glib::ustring("Process 1"), 0, 2); // name, arrival time, priority
|
||||
|
@ -586,22 +612,31 @@ void fillHistory(History &hist)
|
|||
Process& p3 = hist.add_process(Glib::ustring("Process 3"), 5, 5); // name, arrival time, priority
|
||||
|
||||
// add a process - name, arrival time, priority
|
||||
Process& p4 = hist.add_process(Glib::ustring("Invalid? <process/> &3 or\\4"), 9, 1); // name, arrival time, priority
|
||||
Process& p4 = hist.add_process(Glib::ustring("Very Long Named Process 4"), 9, 1); // name, arrival time, priority
|
||||
|
||||
// add a thread - name, parent, cpu time, arrival time, priority
|
||||
Thread& p1_t1 = hist.add_thread(Glib::ustring("P1 - Thread 1"), p1, 14, 0, 2);
|
||||
Thread& p1_t1 = hist.add_thread(Glib::ustring("P1 - Th 1"), p1, 14, 0, 2);
|
||||
|
||||
// add a thread - name, parent, cpu time, arrival time, priority
|
||||
// Thread& p1_t2 = hist.add_thread(Glib::ustring("P1 - Thread 2"), p1, 3, 0, 5);
|
||||
Thread& p1_t2 = hist.add_thread(Glib::ustring("P1 - Th 2"), p1, 3, 3, 5);
|
||||
|
||||
// add a thread - name, parent, cpu time, arrival time, priority
|
||||
Thread& p2_t1 = hist.add_thread(Glib::ustring("P2 - Thread 1"), p2, 20, 0, 2);
|
||||
Thread& p1_t3 = hist.add_thread(Glib::ustring("P1 - Th 3"), p1, 4, 3, 5);
|
||||
|
||||
// add a thread - name, parent, cpu time, arrival time, priority
|
||||
Thread& p3_t1 = hist.add_thread(Glib::ustring("P3 - Thread 2"), p3, 12, 0, 2);
|
||||
Thread& p1_t4 = hist.add_thread(Glib::ustring("P1 - Th 4"), p1, 5, 3, 4);
|
||||
|
||||
// add a thread - name, parent, cpu time, arrival time, priority
|
||||
Thread& p4_t1 = hist.add_thread(Glib::ustring("P4 - Thread 1"), p4, 3, 0, 2);
|
||||
Thread& p2_t1 = hist.add_thread(Glib::ustring("P2 - Th 1"), p2, 20, 0, 2);
|
||||
|
||||
// add a thread - name, parent, cpu time, arrival time, priority
|
||||
Thread& p3_t1 = hist.add_thread(Glib::ustring("P3 - Th 2"), p3, 12, 0, 2);
|
||||
|
||||
// add a thread - name, parent, cpu time, arrival time, priority
|
||||
Thread& p4_t1 = hist.add_thread(Glib::ustring("P4 - Th 1"), p4, 7, 0, 2);
|
||||
|
||||
// add a thread - name, parent, cpu time, arrival time, priority
|
||||
Thread& p4_t2 = hist.add_thread(Glib::ustring("P4 - Th 2"), p4, 3, 6, 2);
|
||||
|
||||
// add a request - Thread, time
|
||||
Request& req1 = hist.add_request(p1_t1, 3);
|
||||
|
|
Loading…
Reference in New Issue