bb8e16e490- Some little eyecandiness. Not much, after all, but still some.
tchernobog
2006-08-28 20:50:20 +0000
ba60be88bc- Remove useless pointer from SimulationController member data
tchernobog
2006-08-28 20:23:42 +0000
0cf9c77835- Erm..... finish the SimulationController so that it works (one-line patch). :-)
tchernobog
2006-08-28 20:19:58 +0000
3689424217- First implementation of a SimulationController in the GUI that uses a callback to run the simulation in continuous mode. It isn't finished yet.
tchernobog
2006-08-28 20:15:05 +0000
1cdd2a6a9e- Restored in-depth checking inside string_to<T>. Under advice of Matteo some code is still commented, since we are not sure if it`s correct
elvez
2006-08-28 09:56:35 +0000
645156e62c- Move code to manage step_by_step or continuous simulation from ConcreteSimulation to TextSimulation
tchernobog
2006-08-27 14:36:23 +0000
1087d45628- Add naive code to test Simulation from the GUI. Please note that we need to move the "continous/non-continous" code snippet out of ConcreteSimulation and into TextualSimulation/the GUI Simulation. In fact, ConcreteSimulation is just a state machine that performs a single step and then puts itself either in paused state (if the Simulation hasn't finished) or into stopped state (if it finished)
tchernobog
2006-08-27 13:39:40 +0000
aa608a1cc2- Mantain expanded state of TreeView rows while History updates. It isn't elegant, but it's the best I can come up with in 10 minutes before having dinner.
tchernobog
2006-08-26 18:42:10 +0000
231662825d- Unify interface of string_utils. I dropped most of the exception handling, hoping it's unnecessary. Code should be slightly more maintainable now.
tchernobog
2006-08-26 10:45:04 +0000
696c513ed2- TODO and FIXME reduced to 38
elvez
2006-08-25 22:43:04 +0000
57059b647b- Now it is possible to edit resources
elvez
2006-08-25 21:45:29 +0000
14f3fd5cbc- Change reinterpret_casts to static_casts where possible
tchernobog
2006-08-25 17:01:39 +0000
34c65f42d1- Added the editing feature to the schedulables tree widget - Value of dialog is now resetted, so they no more show up with the last data that was given
elvez
2006-08-25 00:29:28 +0000
50929d9a94- Removed from GUI and textual interface questions regarding preemptability and availability of resources
elvez
2006-08-24 22:10:31 +0000
dc09e6918c- First experiment with pango markup on the tree widget: it looks odd but it works!
elvez
2006-08-24 00:28:19 +0000
8c8ce4c818- Added editing features to History.
matrevis
2006-08-23 22:55:08 +0000
7756a56b25- modified simulation_widget to show threads
paolo
2006-08-23 00:34:55 +0000
94452ca972- TODO-- in SchedulablesTreeWidget
elvez
2006-08-23 00:06:29 +0000
2ff804ecbe- modified holt_widget to show processes or threads - updated test-holt_widget to show processes or threads
paolo
2006-08-22 09:46:49 +0000
495896597c- Now everything can be removed! - Reverted the patch to ConcreteSimulation, I was trying to make it do what ought to be done in the frontend, and now the frontend does it
elvez
2006-08-21 23:44:18 +0000
82b4105519- Now resources can be removed - Little patch to ConcreteHistory to make it remove emptied requests after a resource removal. I hope this will not break anything...
elvez
2006-08-21 22:01:31 +0000
ba00eac7f0- updated simulation_widget - now hinerith from SimulationObserver and HistoryObserver - updated gui_builder and test-simulation_widget accordling
paolo
2006-08-21 17:50:44 +0000
32db4228bb- Use stock buttons for Add & Remove in AddRequestDialog - Fix compilation
tchernobog
2006-08-21 11:58:06 +0000
077157739c- Enjoy the new ResourcesWidget! (to be honest, it`s mainly a cut-n-paste work made from SchedulablesTreeWidget...)
elvez
2006-08-21 00:12:56 +0000
d60a7aa25e- Completed the management of add-related actions on the schedulables tree view
elvez
2006-08-20 23:17:32 +0000
8c3d8b4878- Some little improvements to interface (use HPaned instead of HBox) - Add logo to AboutDialog :-)
tchernobog
2006-08-20 22:15:02 +0000
7bcc3b9eb4- Supersede old GUI in favor of a more clean (and hopefully clear) interface
tchernobog
2006-08-20 21:26:14 +0000
0f94562617- Small improvements. We'd need a derived CellRenderer to put this into a TreeView
tchernobog
2006-08-20 20:55:29 +0000
dd40bac86c- Improvements to the schedulables widget, now the menu is context-sensitive - Started work on the add-request-dialog derived widget, it`s not so difficult as I first thinked...
elvez
2006-08-19 00:09:36 +0000
e4c269f5d4- modified cairo_widget and simulation_widget to support scaling
paolo
2006-08-18 19:54:24 +0000
df24fafb06- added test-cairo_widget to Makefile.am
paolo
2006-08-18 19:52:44 +0000
7d6b210b90- added test-cairo_widget
paolo
2006-08-18 19:49:41 +0000
d3704721d9- Make libbackend.so link against glibmm (solves undefined references in libbackend)
tchernobog
2006-08-18 09:15:45 +0000
d7ed489a70- bug fixed by Matteo
paolo
2006-08-18 07:28:02 +0000
69c098b266- increased separation between CairoWidget and SimulationWidget - CairoWidget doesn't extend more History Observer - Modified scaling in CairoWidget - NOTE: this is a partial update; total update will follow soon - added File save/file open in GuiBuilder
paolo
2006-08-18 07:27:00 +0000
5432693169- I forgot to add two files and remove a debug print. - Actually there is some printing issue to fix, but the logics works fine.
matrevis
2006-08-18 01:04:28 +0000
df4b32f1ba- Added full-featured jumpto command. - Minor fixes on the gui.
matrevis
2006-08-18 00:46:38 +0000
d8694b2f5b- Removed "visible" flag from popup dialogs - Laid out widget code for request adding. That`s not a trivial dialog like the previous...
elvez
2006-08-18 00:27:33 +0000
2ff87baadf- Give finishing touches to PythonCPUPolicy: implement describe() taking the __doc__ class attribute from the Python policy
tchernobog
2006-08-17 22:04:25 +0000
7447bf82ec- Re-enable SimulationWidget in the frontend
tchernobog
2006-08-17 17:05:47 +0000
f42eea8514- The problem with CairoWidget was that it did scale a pixmap of ~100x100 with a *factor* of ~640x480. That means ~64*48*10^6*3 bytes = a ~1.1 Gb RAM pixmap. The problem didn't show in versions of cairo >= 1.2 because it automagically clips (yeah, cairo programmers *are* smart :-)) It is temporary fixed for the moment, will be made better asap.
tchernobog
2006-08-17 17:03:42 +0000
09ad981251- Make the schedulables widget do something useful, now that I know it was the simulation widget, not the schedulables one which completely put KO my system...
elvez
2006-08-16 23:56:28 +0000
0b4db098eb- Add History::clear() to empty an existing history (equivalent to removing all of its resources and all of its processes, but faster)
tchernobog
2006-08-16 21:25:08 +0000
0933d63344- Small change: we left some unused variables around, I removed them
tchernobog
2006-08-16 21:13:52 +0000
74ec2ed372- Fix SIGSEGV: we were clearing the smart pointer instead of its contents!
tchernobog
2006-08-16 16:58:05 +0000
b2b905427b- Minor change to use Iseq
tchernobog
2006-08-15 18:29:06 +0000
cfd7a025db- Added a best-effort preferences dialog: the user may now add plugin directories, policy directories, and set the simulation speed. - Added some menu voice to the main window.
matrevis
2006-08-15 17:33:47 +0000
047f0b8f86- Experimented a bit more with the treeview widget, with little success, It should segfault on selection of the menu entry "Add Process"
elvez
2006-08-15 00:43:34 +0000
45ef305a1b- Incapsulate code so that the hack we previously used in CPUPoliciesGatekeeper isn't needed anymore - Now CPUPolicy has a callback method for scripting languages, but it is up to derived classes to take mutexes and set the value when needed (maybe we can improve this?)
tchernobog
2006-08-14 14:28:41 +0000
390af1f09d- Add support for input sequences via template; this should simplify a little iterating over containers
tchernobog
2006-08-14 12:09:51 +0000
b1327341af- Mini commit: disabled a redundant line in test-python-loader
elvez
2006-08-13 14:26:40 +0000
1be6a9ca58- All policy-related errors should now be handled. I hope this is the last time I say this...
elvez
2006-08-13 14:20:04 +0000
cb4f0e878d- Add printout on error. TODO: Still fails misteriously on malformed policies
tchernobog
2006-08-12 17:32:43 +0000
9ff7502bb4- This was an *evil* "chicken-or-egg-first" bug in CPUPoliciesGatekeeper. Now CPUPolicy->activate() should run properly.
tchernobog
2006-08-12 17:04:21 +0000
59edb09c14- Create SimulationWidget - Drop the old SchedulablesWidget in favor of a simple Gtk::TreeView - Update the GuiBuilder consequentially - FIXME: in cairo_widget.cc : have we to scale the context before or after drawing on it?
tchernobog
2006-08-12 15:49:37 +0000
51fdeea4d1- Prettify textual simulation output, simplyfing the code, too. - Fix return code on exit
tchernobog
2006-08-12 13:33:28 +0000
97d6f574af- Done some more experimental work on the tree widget, indeed I hoped gtk were a more developer-friendly toolkit than it is...
elvez
2006-08-12 00:35:40 +0000
69c8341384- Scheduler completed. - Added a wizard just for show, but there is no interesting cpu-scheduling policy to test it with - Better textual output.
matrevis
2006-08-11 23:01:25 +0000
436e401ae8- Added a tree widget as a temporary replacement for the cairo-based one. it`s still incomplete, but I should get it working in no time now that I understand how to use it NOTE: to use it _SG_SCHEDULABLES_TREE_WIDGET must be defined, which is obvioulsy not, by default
elvez
2006-08-11 00:45:41 +0000
6a1e30b0a2- Reconstructed step forward. There is still some visible bug in the imlpementation, so this version should not be considered definitive. please give me an other day to check it.
matrevis
2006-08-10 23:39:13 +0000
48fc2f5a00- Added still more error checking to PythonCPUPolicy. But the code which calls its methods should be updated to handle the new exceptions... - Added a base class for cpu policy exceptions to make simpler their catching - Implemented all numeric fields in dialogs with spinboxes, with bounds checking
elvez
2006-08-10 00:42:17 +0000
d3c7b46853- Give code a round of indentation. Thank astyle, not me.
tchernobog
2006-08-09 14:38:45 +0000
aaf8e068d3- Add prompt display for my mental sanity sake, so I know when I can type something
tchernobog
2006-08-09 14:13:41 +0000
3968bc7cbd- Fix CPUPolicy.get_parameters() in Python with a simple yet effective hack
tchernobog
2006-08-09 14:01:46 +0000
86308ca185- Revert back to old behaviour. Still wrong, but at least understandable
tchernobog
2006-08-09 13:41:52 +0000
72e562e803- Try to make CPUPolicy.get_parameters() and RR-Priority work. Won't run.
tchernobog
2006-08-09 13:37:42 +0000
addad6aa26- Applied Matteo`s tips to the error handling code. Now all loading errors whould be handled. Don`t know about runtime errors, though
elvez
2006-08-09 13:24:42 +0000
6911676b53- Added some code for better error-reporting in case of malformed policies. Actually it`s commented because it doesn`t work...
elvez
2006-08-09 00:50:45 +0000
e975bfdd0b- Bugfix to call History::notify_change when reenabling notifications
tchernobog
2006-08-08 19:46:14 +0000
0138387a7f- Added the LOAD command to TextSimulation, and the classic question made to user on replacing an unsaved simulation - Changed the way syntactically incorrect python policies are handled, we no more exit abruptly
elvez
2006-08-08 00:20:56 +0000
d72ce96508- Corrected a bug in step forward, which was incorrectly assuming that the size of the history was the coordinate of the instant to add. - Corrected a bug in step forward, which was incorrectly assuming that all processes started at instant 0. - Added a wizard to show a bug in step forward, which thinks that the simulation is terminated while it isn't since some processes are still future. - Commented some unused code in step forward (extendThread()). - Still to extract methods from Extender and provide them to step forward in a more suitable (static) way.
matrevis
2006-08-07 23:59:21 +0000
a7fc644043- Fix compilation and loading of XmlSave plugin - Fix throwing of exceptions from sgpem::Module - **THOU SHALL ALWAYS UPDATE THY MAKEFILES, OR THE WRATH OF GOD WILL DESCEND UPON THEE**
tchernobog
2006-08-07 15:16:27 +0000
96728edfce- Fixed compilation errors caused by latest changes to serialization code - Setup makefile for xmlsave plugin. It still can`t be activated. why? - Added a temporary command SAVE to commandline interface to try serialization
elvez
2006-08-07 00:54:43 +0000
574723a35b- Added full request support, altough still not working at all. Compiles and runs, but the output is not correct. Anyway, now it is just a matter of logics :P - Corrected some minor bugs in step forward. - Step forward is now rather messy, but still better than four hours ago.. altough this can be hard to believe. - Added some wizards that help finding bugs. - Rewritten dyn process get_state as it was guilty of premature optimization :)
matrevis
2006-08-06 01:47:02 +0000
efe7dedd61- Request queues are now correctly managed by the ConcreteEnvironment copy constructor and by the add_resource and remove_resource methods found in ConcreteHistory. - Scheduler now adds the requests in the queue when appropriate, and removes them when exhausted. - Still to implement the management of the state of requests depending on their position in the queue - Still to implement the way threads block depending on the state of their requests - step_forward now reuses some bunch of code taken from the prototype
matrevis
2006-08-05 17:09:45 +0000
132db18b8c- Split between abstract base class (sgpem::CairoWidget) and derived widget - Add History::set_notify_enabled() for usage by the frontend (for example, when loading from file, you'll want to call set_notify_enabled(false) before starting)
tchernobog
2006-08-04 20:08:55 +0000
2174c25f74- Fix drawing of widget background. Now I'll move the code to an abstract base class, and I'll start working out the adjustement / resizing problems (they're not easy to work out correctly).
tchernobog
2006-08-04 19:12:17 +0000
974702af3e- Added other two dialogs for the gui - Added exception specifications to the methods of the serializer interface and xml plugin
elvez
2006-08-04 00:29:37 +0000
56d7ddbc5a- Widgets now will be shown. Still some problem with their background
matrevis
2006-08-03 15:43:21 +0000
b76756c2a8- Add untested code to SchedulableWidget, manually inheriting from a raw Gtk::Widget and doing things by hand
tchernobog
2006-08-03 11:16:16 +0000
82289edc14- Corrected a potentially disastrous automatic int->uint conversion in TextSimulation - Make test-history run by commenting some "dangerous" lines - Added a couple of comments to SchedulablesWidget::update() in the hope the may be useful to others in finding where the bug resides...
elvez
2006-08-03 01:34:49 +0000
9f4415a835- Sorry, I forgot to remove a debug printf statement.
matrevis
2006-08-03 00:42:28 +0000
96055b4cf1- minor bugfix: scheduler was terminating subrequests before decreasing their elapsed time - requests are now behaving nicely, since they are raised at the correct instant, and terminated at the right instant - the ready queues are still not ready, tough :(, anyway, now there is really nothing else to do before them. - stepforward is looking much more uglier (if possible).
matrevis
2006-08-03 00:30:36 +0000
56a7ce1221fixed a bug involving scheduler keeping a running thread in the ready queue when that thread had just been given the cpu. fixed a bug involving text-simulation displaying the wrong timestamp for each snaphot. Now the first snapshot printed is correctly tagged "-1".
matrevis
2006-08-02 23:12:32 +0000
01490e24ac- Added the ResourcePoliciesGatekeeper class, still not tried to compile it
elvez
2006-08-02 22:21:42 +0000
1961283f85- Use strictier naming scheme for pyloader
tchernobog
2006-08-02 22:06:20 +0000
43b817aaed- Rename Policy to CPUPolicy where appropriate
tchernobog
2006-08-02 21:57:36 +0000
5b577c5979- Start working on double-buffering on cairo widgets. The system will SIGSEGV. I will fix this asap, in the meantime use the cmdline interface.
tchernobog
2006-08-02 13:48:26 +0000