- Slightly increased size of font

- Added visualization of arrival time

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1131 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
elvez 2006-09-13 15:34:46 +00:00
parent 5632540530
commit 8b07ffa8e4
3 changed files with 70 additions and 34 deletions

View File

@ -290,7 +290,7 @@ ResourcesWidget::_on_cell_name_data(Gtk::CellRenderer* cr,
const Environment::SubRequestQueue& queue = env.get_request_queue(key);
oss << "<small><b>" << resource.get_name() << "</b>";
oss << "<span size=\"8500\"><b>" << resource.get_name() << "</b>";
oss << " (" << queue.size() << "/" << resource.get_places() << ")\n";
for(Iseq<Environment::SubRequestQueue::const_iterator> it = iseq(queue); it; ++it)
@ -305,7 +305,7 @@ ResourcesWidget::_on_cell_name_data(Gtk::CellRenderer* cr,
<< "/" << sr.get_length() << ")";
}
oss << "</small>";
oss << "</span>";
crtm.property_markup() = oss.str();
}

View File

@ -62,9 +62,13 @@ SchedulablesTreeWidget::SchedulablesTreeWidget()
set_model(_model);
int idx = append_column(_("Entities"), _cell_renderer) - 1;
int idx = append_column(_("Arrival"), _cell_renderer) - 1;
Gtk::TreeViewColumn* tvc = get_column(idx);
tvc->set_cell_data_func(_cell_renderer, sigc::mem_fun(*this, &SchedulablesTreeWidget::_on_entities_column_data));
tvc->set_cell_data_func(_cell_renderer, sigc::mem_fun(*this, &SchedulablesTreeWidget::_on_arrival_column_data));
idx = append_column(_("Entity"), _cell_renderer) - 1;
tvc = get_column(idx);
tvc->set_cell_data_func(_cell_renderer, sigc::mem_fun(*this, &SchedulablesTreeWidget::_on_entity_column_data));
idx = append_column(_("State"), _cell_renderer) - 1;
tvc = get_column(idx);
@ -584,7 +588,40 @@ SchedulablesTreeWidget::_on_remove_request()
}
void
SchedulablesTreeWidget::_on_entities_column_data(Gtk::CellRenderer* cr,
SchedulablesTreeWidget::_on_arrival_column_data(Gtk::CellRenderer* cr,
const Gtk::TreeModel::iterator& it)
{
CellRendererTextMarkup& crtm = static_cast<CellRendererTextMarkup&>(*cr);
std::ostringstream oss;
oss << "<span size=\"8500\">";
switch(get_row_type(it))
{
case htype_process:
oss << get_row_handle_as<Process>(it)->get_arrival_time();
break;
case htype_thread:
oss << get_row_handle_as<Thread>(it)->get_arrival_time();
break;
case htype_request:
oss << get_row_handle_as<Request>(it)->get_instant();
break;
default:
oss << _("<b>ERROR<b>");
}
oss << "</span>";
crtm.property_markup() = oss.str();
}
void
SchedulablesTreeWidget::_on_entity_column_data(Gtk::CellRenderer* cr,
const Gtk::TreeModel::iterator& it)
{
CellRendererTextMarkup& crtm = static_cast<CellRendererTextMarkup&>(*cr);
@ -600,14 +637,13 @@ SchedulablesTreeWidget::_on_entities_column_data(Gtk::CellRenderer* cr,
case htype_thread:
marked_up = markup_schedulable(*get_row_handle_as<Thread>(it));
break;
case htype_request:
marked_up = markup_request(*get_row_handle_as<Request>(it));
break;
default:
marked_up = "<small>";
marked_up += Markup::escape_text(it->get_value(_main_column));
marked_up += "</small>";
marked_up = _("<big><b>ERROR<b></big>");
}
crtm.property_markup() = marked_up;
@ -616,20 +652,19 @@ SchedulablesTreeWidget::_on_entities_column_data(Gtk::CellRenderer* cr,
ustring
SchedulablesTreeWidget::markup_schedulable(const Schedulable& s)
{
using std::ostringstream;
using std::endl;
ostringstream oss;
std::ostringstream oss;
// TODO : add note for the translator to use HTML-escaped text
// See the gettext manual.
oss << "<small><span foreground=\""
oss << "<span size=\"8500\"><span foreground=\""
<< GlobalPreferences::get_instance().get_schedulable_color(s.get_state())
<< "\"><b>" << Markup::escape_text(s.get_name()) << "</b></span>"
<< _(" (") << s.get_elapsed_time()
<< _("/") << s.get_total_cpu_time() << ")"
<< _(", current priority: ") << s.get_current_priority()
<< "</small>";
<< "</span>";
return oss.str();
}
@ -637,14 +672,13 @@ SchedulablesTreeWidget::markup_schedulable(const Schedulable& s)
ustring
SchedulablesTreeWidget::markup_request(Request& r)
{
using std::ostringstream;
using std::endl;
ostringstream oss;
std::ostringstream oss;
oss << "<small><span foreground=\""
oss << "<span size=\"8500\"><span foreground=\""
<< GlobalPreferences::get_instance().get_request_color(r.get_state())
<< "\"><b>" << _("at ") << r.get_instant() << ":</b></span>";
<< "\"><b>" << _("request:") << "</b></span>";
const Environment& env = Simulation::get_instance().get_history().get_last_environment();
const Environment::Resources& resources = env.get_resources();
@ -662,7 +696,7 @@ SchedulablesTreeWidget::markup_request(Request& r)
<< "/" << sr.get_length() << ")";
}
oss << "</small>";
oss << "</span>";
return oss.str();
}
@ -673,30 +707,30 @@ SchedulablesTreeWidget::_on_state_column_data(Gtk::CellRenderer* cr,
{
CellRendererTextMarkup& crtm = static_cast<CellRendererTextMarkup&>(*cr);
ustring marked_up;
ustring marked_up = "<span size=\"8500\">";
switch(get_row_type(it))
{
case htype_process:
marked_up = markup_state(get_row_handle_as<Process>(it)->get_state());
marked_up += state_text(get_row_handle_as<Process>(it)->get_state());
break;
case htype_thread:
marked_up = markup_state(get_row_handle_as<Thread>(it)->get_state());
marked_up += state_text(get_row_handle_as<Thread>(it)->get_state());
break;
case htype_request:
marked_up = markup_state(get_row_handle_as<Request>(it)->get_state());
marked_up += state_text(get_row_handle_as<Request>(it)->get_state());
break;
default:
marked_up = "<small>NO STATE</small>";
marked_up += "<b>NO STATE</b>";
}
crtm.property_markup() = marked_up;
crtm.property_markup() = marked_up + "</span>";
}
ustring
SchedulablesTreeWidget::markup_state(Schedulable::state state)
SchedulablesTreeWidget::state_text(Schedulable::state state)
{
ustring text;
@ -721,11 +755,11 @@ SchedulablesTreeWidget::markup_state(Schedulable::state state)
text = _("@@@ ERROR @@@");
}
return ustring("<small>") + Markup::escape_text(text) + "</small>";
return Markup::escape_text(text);
}
ustring
SchedulablesTreeWidget::markup_state(Request::state state)
SchedulablesTreeWidget::state_text(Request::state state)
{
ustring text;
@ -750,7 +784,7 @@ SchedulablesTreeWidget::markup_state(Request::state state)
text = _("@@@ ERROR @@@");
}
return ustring("<small>") + Markup::escape_text(text) + "</small>";
return Markup::escape_text(text);
}

View File

@ -104,9 +104,11 @@ namespace sgpem
void _on_remove_process();
void _on_remove_thread();
void _on_remove_request();
// void _on_remove_subrequest();
void _on_entities_column_data(Gtk::CellRenderer* cr,
void _on_arrival_column_data(Gtk::CellRenderer* cr,
const Gtk::TreeModel::iterator& it);
void _on_entity_column_data(Gtk::CellRenderer* cr,
const Gtk::TreeModel::iterator& it);
void _on_state_column_data(Gtk::CellRenderer* cr,
@ -115,8 +117,8 @@ namespace sgpem
Glib::ustring markup_schedulable(const Schedulable& s);
Glib::ustring markup_request(Request& s);
Glib::ustring markup_state(Schedulable::state state);
Glib::ustring markup_state(Request::state state);
Glib::ustring state_text(Schedulable::state state);
Glib::ustring state_text(Request::state state);
Glib::RefPtr<Gtk::TreeStore> _model;
Gtk::TreeModelColumnRecord _columns;