Re: [Planner Dev] Advanced link tasks version 3.



Richard Hult wrote:

+++ src/planner-task-tree.h 20 Apr 2004 02:23:25 -0000
@@ -50,6 +50,30 @@ struct _PlannerTaskTreeClass
GtkTreeViewClass  parent_class;
};
+typedef struct {
+ MrpProject *project;
+
+ GtkWidget  *link_relations; /* The relationship between tasks was
link_relation */
+ GtkWidget  *lag_text; /* The lag (+/- value) */
+ GtkWidget  *label_mode; /* the Mode text (we need this to hide it)
*/
+ GtkWidget  *radiobutton_mode_c; /* This means cascade (n:n+1)*/
+ GtkWidget  *radiobutton_mode_fo; /* ""   ""  fan-out (1:n)    */
+ GtkWidget  *radiobutton_mode_fi; /* ""   ""  fan-in (n:last)  */
+ GtkWidget  *radiobutton_direction_d; /* The direction d means
downwards (visually) */
+ GtkWidget  *radiobutton_direction_u; /* ""     ""     u means
upwards (visually)  */
+} PlannerLinkDialogData;


This should only sit in the c-file, it's just private data, right? And
the type could then be just LinkDialogData.

Its used by the planner-task-link-dialog.c too so I put it into the
.h file where it was first used.


Hm, it should be possible to make it internal to the link dialog only,
right?

No - the reason being that the planner-task-link-dialog.c uses it
to setup the dialog and the planner-task-tree.c uses it to pick out
the data->??? structure thats returned by the dialog.

I can't easily put the button processing and stuff into the
planner-task-link-dialog.c because I can't derive the lag without
calling task_tree_parse_time_string() and I can't call
planner_task_tree_link_tasks() without the derived data; I tried and
it was a mess as I have to still pass back a structure pointer or
include all sorts of include files. This way was simpler on header
files.

So I left it as planner-task-link-dialog.c sets up dialog (and needs
the appropriate structure to do this, and planner-task-tree.c
works with the resulting dialog data and thus also needs the same
structure.

We don't actually have that many dialogs in Planner so some of the
stuff its trying to do is new.

I'm confident we'll have to do it this way too when we do the
fancier "Unlink" dialog that I'm planning on next (where we have
build up a selection tree of links to unlink) so ideally would
like to keep it as it is now as I intend to clone what it does
for that Unlink dialog.



Cool - I'll focus back on the Multi-task edit dialog and the project
phase undo/redo first as thats 0.12 (and this was 0.13).

and also the Project Properties undo/redo as its sort of related to
the Project Phase stuff which I pencilled in for me to do and I
was afraid of clashing here.


Rgds,
Lincoln.




Great!

Thanks,
Richard





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]