Re: [Planner Dev] Task Predecessors





Also, this is the first time I have sumbitted anything to an open-source project. Let me know if I did anything stupid, wrong, un-ethical.

As long as you and your company are happy with it being GPL'd its
ethical ;)

Cory - this is great - I think the best way of initially helping
Open Source projects is to start by adding new features !
I also wanted to add a little dialog so that when you
hit the link button in planner you were presented with....

http://bugzilla.gnome.org/attachment.cgi?id=25647&action=view

but so far only done the glade file. See bugzilla,
http://bugzilla.gnome.org/show_bug.cgi?id=132346

Attached are my current glades to make link and unlink
which is all I've done on this so far.  The idea being
that you ctrl-clicked two tasks, hit Link button, tweaked
the link dialog and hey presto your link happens - very fast
workflow.

Step 1 is that I'm currently patching planner_task_tree_link_tasks()
and the likes of gantt_view_link_tasks_cb() etc
to be able to take the extra parameters. I'll be passing this
to Richard in a few days or so.

Step 2 is to actually put some logic behind the button
and hook in the dialog and I haven't yet started that.

Your doing the extra FF/SF/SS etc then this really makes
this feature come together.

Rgds,
Lincoln.


Thanks,

Corey

b.t.w. Malcolm, thanks for the heads up.
On Tue, 30 Mar 2004 09:23 pm, you wrote:

On Tue, 2004-03-30 at 20:24 +1000, Corey Schuhen wrote:

I have looked at using planner for a project of mine and it looks pretty good, such that it would almost do the job... almost. Good work guys. What I really need is the other dependancy types to work. From what I can tell the "lag" option does not work either.

The lag option does work ... roughly. :-)

The units seem to behave strangely. Lag units (that you enter in the
dialog box) are in hours -- although this is not clear when you are
assiging them. It appears that the MrpRelation GObject stores the lag in
seconds (based on what is in src/planner-task-dialog.c around line 942).

Yup this is true - store din second (which is fine) but displayed
as hours (which is weird). Bugzilla,
http://bugzilla.gnome.org/show_bug.cgi?id=132357
to track this ;)   Richard added some stuff on that. We need the
lag field to take time strings.


As far as implementing the other relation types (start-to-finish,
finish-to-finish, etc), you should start poking around
libplanner/mrp-relation.[ch]. Also look at the relation types in
libplanner/mrp-types.h -- search for MRP_RELATION_FS and its friends and
then look for the four or five main places where it is used.


Consequently, I would not mind having a "hack". I have not programmed with Gnome or GTK before, well actually I did write a small GTK app about 4 years ago but I have well and truly forgotten all about that. I tried to have a poke around and did not get very far. I have read the "getting-started-hacking.xml" document. B.t.w. how do I convert this into a more redable format? or view it? I expected that "make" would generate a html or pdf from the xml.

I have attached two files that will help you get started. I'll try to
fix this up a bit better and send a patch to Richard, but for now
(assuming you have the DocBook stylesheets installed -- something like
the docbook-xsl package on many distributions) run

       xsltproc -o foo.html params.xsl getting-started-hacking.xml

and drop the style.css file in the same location as foo.html. Then
loading foo.html into a browser will give you a mostly readable version
of the document as an HTML file.


I was hoping that somebody could give me some pointers and a rough overview on how the code fits togeather. Maybe even tell me which modules/classes do the work that I will need to change.

One thing that I did want to specifically know is, where in code does the "scheduling" get done. If I create a dependancy, where is the code that decides where in time this dependant task should get shifted to.

Start with the function mrp_project_reschedule in
libplanner/mrp-project.c and some of the other functions around there.
Also libplanner/mrp-task-manager.c will be useful to read through --
that includes the implementation of the task object that is at the
centre of all these calculations.

Hopefully this can help you get started and then some of the other guys
on this list can help you out further.

Cheers,
Malcolm




------------------------------------------------------------------------


------------------------------------------------------------------------

_______________________________________________
Planner-dev mailing list
Planner-dev lists imendio com
http://lists.imendio.com/mailman/listinfo/planner-dev


<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>

<glade-interface>
<requires lib="gnome"/>

<widget class="GtkDialog" id="task_unlink_dialog">
  <property name="border_width">5</property>
  <property name="title" translatable="yes">Unlink Tasks</property>
  <property name="type">GTK_WINDOW_POPUP</property>
  <property name="window_position">GTK_WIN_POS_MOUSE</property>
  <property name="modal">False</property>
  <property name="resizable">False</property>
  <property name="destroy_with_parent">False</property>
  <property name="has_separator">False</property>

  <child internal-child="vbox">
    <widget class="GtkVBox" id="dialog-vbox1">
      <property name="visible">True</property>
      <property name="homogeneous">False</property>
      <property name="spacing">2</property>

      <child internal-child="action_area">
	<widget class="GtkHButtonBox" id="dialog-action_area1">
	  <property name="visible">True</property>
	  <property name="layout_style">GTK_BUTTONBOX_END</property>

	  <child>
	    <widget class="GtkButton" id="cancel_button">
	      <property name="visible">True</property>
	      <property name="can_default">True</property>
	      <property name="has_default">True</property>
	      <property name="can_focus">True</property>
	      <property name="label">gtk-cancel</property>
	      <property name="use_stock">True</property>
	      <property name="relief">GTK_RELIEF_NORMAL</property>
	      <property name="response_id">-6</property>
	    </widget>
	  </child>

	  <child>
	    <widget class="GtkButton" id="insert_button">
	      <property name="visible">True</property>
	      <property name="can_default">True</property>
	      <property name="can_focus">True</property>
	      <property name="relief">GTK_RELIEF_NORMAL</property>
	      <property name="response_id">-5</property>

	      <child>
		<widget class="GtkAlignment" id="alignment2">
		  <property name="visible">True</property>
		  <property name="xalign">0.5</property>
		  <property name="yalign">0.5</property>
		  <property name="xscale">0</property>
		  <property name="yscale">0</property>

		  <child>
		    <widget class="GtkHBox" id="hbox74">
		      <property name="visible">True</property>
		      <property name="homogeneous">False</property>
		      <property name="spacing">2</property>

		      <child>
			<widget class="GtkImage" id="image2">
			  <property name="visible">True</property>
			  <property name="stock">gtk-apply</property>
			  <property name="icon_size">4</property>
			  <property name="xalign">0.5</property>
			  <property name="yalign">0.5</property>
			  <property name="xpad">0</property>
			  <property name="ypad">0</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>

		      <child>
			<widget class="GtkLabel" id="label103">
			  <property name="visible">True</property>
			  <property name="label" translatable="yes">_Apply</property>
			  <property name="use_underline">True</property>
			  <property name="use_markup">False</property>
			  <property name="justify">GTK_JUSTIFY_LEFT</property>
			  <property name="wrap">False</property>
			  <property name="selectable">False</property>
			  <property name="xalign">0.5</property>
			  <property name="yalign">0.5</property>
			  <property name="xpad">0</property>
			  <property name="ypad">0</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>
		    </widget>
		  </child>
		</widget>
	      </child>
	    </widget>
	  </child>
	</widget>
	<packing>
	  <property name="padding">0</property>
	  <property name="expand">False</property>
	  <property name="fill">True</property>
	  <property name="pack_type">GTK_PACK_END</property>
	</packing>
      </child>

      <child>
	<widget class="GtkTable" id="table1">
	  <property name="border_width">5</property>
	  <property name="visible">True</property>
	  <property name="n_rows">3</property>
	  <property name="n_columns">1</property>
	  <property name="homogeneous">False</property>
	  <property name="row_spacing">6</property>
	  <property name="column_spacing">12</property>

	  <child>
	    <widget class="GtkFrame" id="frame1">
	      <property name="visible">True</property>
	      <property name="label_xalign">0</property>
	      <property name="label_yalign">0.5</property>
	      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>

	      <child>
		<widget class="GtkTable" id="table4">
		  <property name="visible">True</property>
		  <property name="n_rows">1</property>
		  <property name="n_columns">3</property>
		  <property name="homogeneous">False</property>
		  <property name="row_spacing">0</property>
		  <property name="column_spacing">0</property>

		  <child>
		    <widget class="GtkCheckButton" id="checkbutton3">
		      <property name="visible">True</property>
		      <property name="can_focus">True</property>
		      <property name="label" translatable="yes">Filter by Lag</property>
		      <property name="use_underline">True</property>
		      <property name="relief">GTK_RELIEF_NORMAL</property>
		      <property name="active">False</property>
		      <property name="inconsistent">False</property>
		      <property name="draw_indicator">True</property>
		    </widget>
		    <packing>
		      <property name="left_attach">0</property>
		      <property name="right_attach">1</property>
		      <property name="top_attach">0</property>
		      <property name="bottom_attach">1</property>
		      <property name="x_options">fill</property>
		      <property name="y_options"></property>
		    </packing>
		  </child>

		  <child>
		    <widget class="GtkVBox" id="vbox1">
		      <property name="visible">True</property>
		      <property name="homogeneous">False</property>
		      <property name="spacing">0</property>

		      <child>
			<widget class="GtkLabel" id="label105">
			  <property name="visible">True</property>
			  <property name="label" translatable="yes">Min</property>
			  <property name="use_underline">False</property>
			  <property name="use_markup">False</property>
			  <property name="justify">GTK_JUSTIFY_LEFT</property>
			  <property name="wrap">False</property>
			  <property name="selectable">False</property>
			  <property name="xalign">0</property>
			  <property name="yalign">0.5</property>
			  <property name="xpad">0</property>
			  <property name="ypad">0</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>

		      <child>
			<widget class="GtkEntry" id="entry1">
			  <property name="visible">True</property>
			  <property name="can_focus">True</property>
			  <property name="editable">True</property>
			  <property name="visibility">True</property>
			  <property name="max_length">0</property>
			  <property name="text" translatable="yes"></property>
			  <property name="has_frame">True</property>
			  <property name="invisible_char" translatable="yes">*</property>
			  <property name="activates_default">False</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>
		    </widget>
		    <packing>
		      <property name="left_attach">1</property>
		      <property name="right_attach">2</property>
		      <property name="top_attach">0</property>
		      <property name="bottom_attach">1</property>
		      <property name="y_options">fill</property>
		    </packing>
		  </child>

		  <child>
		    <widget class="GtkVBox" id="vbox2">
		      <property name="visible">True</property>
		      <property name="homogeneous">False</property>
		      <property name="spacing">0</property>

		      <child>
			<widget class="GtkLabel" id="label106">
			  <property name="visible">True</property>
			  <property name="label" translatable="yes">Max</property>
			  <property name="use_underline">False</property>
			  <property name="use_markup">False</property>
			  <property name="justify">GTK_JUSTIFY_LEFT</property>
			  <property name="wrap">False</property>
			  <property name="selectable">False</property>
			  <property name="xalign">0</property>
			  <property name="yalign">0.5</property>
			  <property name="xpad">0</property>
			  <property name="ypad">0</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>

		      <child>
			<widget class="GtkEntry" id="entry2">
			  <property name="visible">True</property>
			  <property name="can_focus">True</property>
			  <property name="editable">True</property>
			  <property name="visibility">True</property>
			  <property name="max_length">0</property>
			  <property name="text" translatable="yes"></property>
			  <property name="has_frame">True</property>
			  <property name="invisible_char" translatable="yes">*</property>
			  <property name="activates_default">False</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>
		    </widget>
		    <packing>
		      <property name="left_attach">2</property>
		      <property name="right_attach">3</property>
		      <property name="top_attach">0</property>
		      <property name="bottom_attach">1</property>
		      <property name="y_options">fill</property>
		    </packing>
		  </child>
		</widget>
	      </child>

	      <child>
		<widget class="GtkLabel" id="label107">
		  <property name="visible">True</property>
		  <property name="label" translatable="yes">Lag Filter</property>
		  <property name="use_underline">False</property>
		  <property name="use_markup">False</property>
		  <property name="justify">GTK_JUSTIFY_LEFT</property>
		  <property name="wrap">False</property>
		  <property name="selectable">False</property>
		  <property name="xalign">0.5</property>
		  <property name="yalign">0.5</property>
		  <property name="xpad">0</property>
		  <property name="ypad">0</property>
		</widget>
		<packing>
		  <property name="type">label_item</property>
		</packing>
	      </child>
	    </widget>
	    <packing>
	      <property name="left_attach">0</property>
	      <property name="right_attach">1</property>
	      <property name="top_attach">2</property>
	      <property name="bottom_attach">3</property>
	      <property name="x_options">fill</property>
	    </packing>
	  </child>

	  <child>
	    <widget class="GtkFrame" id="frame2">
	      <property name="visible">True</property>
	      <property name="label_xalign">0</property>
	      <property name="label_yalign">0.5</property>
	      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>

	      <child>
		<widget class="GtkHBox" id="hbox75">
		  <property name="visible">True</property>
		  <property name="homogeneous">False</property>
		  <property name="spacing">0</property>

		  <child>
		    <widget class="GtkCheckButton" id="checkbutton2">
		      <property name="visible">True</property>
		      <property name="can_focus">True</property>
		      <property name="label" translatable="yes">Filter by Relation</property>
		      <property name="use_underline">True</property>
		      <property name="relief">GTK_RELIEF_NORMAL</property>
		      <property name="active">False</property>
		      <property name="inconsistent">False</property>
		      <property name="draw_indicator">True</property>
		    </widget>
		    <packing>
		      <property name="padding">0</property>
		      <property name="expand">False</property>
		      <property name="fill">False</property>
		    </packing>
		  </child>

		  <child>
		    <widget class="GtkOptionMenu" id="optionmenu1">
		      <property name="visible">True</property>
		      <property name="can_focus">True</property>
		      <property name="history">0</property>

		      <child>
			<widget class="GtkMenu" id="menu1">

			  <child>
			    <widget class="GtkMenuItem" id="Finish To Start">
			      <property name="visible">True</property>
			      <property name="label" translatable="yes">item1</property>
			      <property name="use_underline">True</property>
			      <signal name="activate" handler="on_Finish To Start_activate" last_modification_time="Sun, 14 Mar 2004 22:21:35 GMT"/>
			    </widget>
			  </child>
			</widget>
		      </child>
		    </widget>
		    <packing>
		      <property name="padding">0</property>
		      <property name="expand">False</property>
		      <property name="fill">False</property>
		    </packing>
		  </child>
		</widget>
	      </child>

	      <child>
		<widget class="GtkLabel" id="label108">
		  <property name="visible">True</property>
		  <property name="label" translatable="yes">Relation Filter</property>
		  <property name="use_underline">False</property>
		  <property name="use_markup">False</property>
		  <property name="justify">GTK_JUSTIFY_LEFT</property>
		  <property name="wrap">False</property>
		  <property name="selectable">False</property>
		  <property name="xalign">0.5</property>
		  <property name="yalign">0.5</property>
		  <property name="xpad">0</property>
		  <property name="ypad">0</property>
		</widget>
		<packing>
		  <property name="type">label_item</property>
		</packing>
	      </child>
	    </widget>
	    <packing>
	      <property name="left_attach">0</property>
	      <property name="right_attach">1</property>
	      <property name="top_attach">1</property>
	      <property name="bottom_attach">2</property>
	      <property name="x_options">fill</property>
	      <property name="y_options">fill</property>
	    </packing>
	  </child>

	  <child>
	    <widget class="GtkFrame" id="frame3">
	      <property name="visible">True</property>
	      <property name="label_xalign">0</property>
	      <property name="label_yalign">0.5</property>
	      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>

	      <child>
		<widget class="GtkHBox" id="hbox76">
		  <property name="visible">True</property>
		  <property name="homogeneous">False</property>
		  <property name="spacing">0</property>

		  <child>
		    <widget class="GtkCheckButton" id="checkbutton1">
		      <property name="visible">True</property>
		      <property name="can_focus">True</property>
		      <property name="label" translatable="yes">Unlink Within Selection Only</property>
		      <property name="use_underline">True</property>
		      <property name="relief">GTK_RELIEF_NORMAL</property>
		      <property name="active">False</property>
		      <property name="inconsistent">False</property>
		      <property name="draw_indicator">True</property>
		    </widget>
		    <packing>
		      <property name="padding">0</property>
		      <property name="expand">False</property>
		      <property name="fill">False</property>
		    </packing>
		  </child>

		  <child>
		    <widget class="GtkVBox" id="vbox3">
		      <property name="visible">True</property>
		      <property name="homogeneous">False</property>
		      <property name="spacing">0</property>

		      <child>
			<widget class="GtkRadioButton" id="radiobutton1">
			  <property name="visible">True</property>
			  <property name="can_focus">True</property>
			  <property name="label" translatable="yes">First to Any</property>
			  <property name="use_underline">True</property>
			  <property name="relief">GTK_RELIEF_NORMAL</property>
			  <property name="active">False</property>
			  <property name="inconsistent">False</property>
			  <property name="draw_indicator">True</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>

		      <child>
			<widget class="GtkRadioButton" id="radiobutton2">
			  <property name="visible">True</property>
			  <property name="can_focus">True</property>
			  <property name="label" translatable="yes">Any to Any</property>
			  <property name="use_underline">True</property>
			  <property name="relief">GTK_RELIEF_NORMAL</property>
			  <property name="active">True</property>
			  <property name="inconsistent">False</property>
			  <property name="draw_indicator">True</property>
			  <property name="group">radiobutton1</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>

		      <child>
			<widget class="GtkRadioButton" id="radiobutton3">
			  <property name="visible">True</property>
			  <property name="can_focus">True</property>
			  <property name="label" translatable="yes">Last to Any</property>
			  <property name="use_underline">True</property>
			  <property name="relief">GTK_RELIEF_NORMAL</property>
			  <property name="active">False</property>
			  <property name="inconsistent">False</property>
			  <property name="draw_indicator">True</property>
			  <property name="group">radiobutton1</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>
		    </widget>
		    <packing>
		      <property name="padding">0</property>
		      <property name="expand">True</property>
		      <property name="fill">True</property>
		    </packing>
		  </child>
		</widget>
	      </child>

	      <child>
		<widget class="GtkLabel" id="label109">
		  <property name="visible">True</property>
		  <property name="label" translatable="yes">Selection Filter</property>
		  <property name="use_underline">False</property>
		  <property name="use_markup">False</property>
		  <property name="justify">GTK_JUSTIFY_LEFT</property>
		  <property name="wrap">False</property>
		  <property name="selectable">False</property>
		  <property name="xalign">0.5</property>
		  <property name="yalign">0.5</property>
		  <property name="xpad">0</property>
		  <property name="ypad">0</property>
		</widget>
		<packing>
		  <property name="type">label_item</property>
		</packing>
	      </child>
	    </widget>
	    <packing>
	      <property name="left_attach">0</property>
	      <property name="right_attach">1</property>
	      <property name="top_attach">0</property>
	      <property name="bottom_attach">1</property>
	      <property name="x_options">fill</property>
	    </packing>
	  </child>
	</widget>
	<packing>
	  <property name="padding">0</property>
	  <property name="expand">True</property>
	  <property name="fill">True</property>
	</packing>
      </child>
    </widget>
  </child>
</widget>

</glade-interface>

<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>

<glade-interface>
<requires lib="gnome"/>

<widget class="GtkDialog" id="task_link_dialog">
  <property name="border_width">5</property>
  <property name="title" translatable="yes">Link Tasks</property>
  <property name="type">GTK_WINDOW_TOPLEVEL</property>
  <property name="window_position">GTK_WIN_POS_NONE</property>
  <property name="modal">False</property>
  <property name="resizable">False</property>
  <property name="destroy_with_parent">False</property>
  <property name="has_separator">False</property>

  <child internal-child="vbox">
    <widget class="GtkVBox" id="dialog-vbox1">
      <property name="visible">True</property>
      <property name="homogeneous">False</property>
      <property name="spacing">2</property>

      <child internal-child="action_area">
	<widget class="GtkHButtonBox" id="dialog-action_area1">
	  <property name="visible">True</property>
	  <property name="layout_style">GTK_BUTTONBOX_END</property>

	  <child>
	    <widget class="GtkButton" id="cancel_button">
	      <property name="visible">True</property>
	      <property name="can_default">True</property>
	      <property name="has_default">True</property>
	      <property name="can_focus">True</property>
	      <property name="label">gtk-cancel</property>
	      <property name="use_stock">True</property>
	      <property name="relief">GTK_RELIEF_NORMAL</property>
	      <property name="response_id">-6</property>
	    </widget>
	  </child>

	  <child>
	    <widget class="GtkButton" id="insert_button">
	      <property name="visible">True</property>
	      <property name="can_default">True</property>
	      <property name="can_focus">True</property>
	      <property name="relief">GTK_RELIEF_NORMAL</property>
	      <property name="response_id">-5</property>

	      <child>
		<widget class="GtkAlignment" id="alignment2">
		  <property name="visible">True</property>
		  <property name="xalign">0.5</property>
		  <property name="yalign">0.5</property>
		  <property name="xscale">0</property>
		  <property name="yscale">0</property>

		  <child>
		    <widget class="GtkHBox" id="hbox74">
		      <property name="visible">True</property>
		      <property name="homogeneous">False</property>
		      <property name="spacing">2</property>

		      <child>
			<widget class="GtkImage" id="image2">
			  <property name="visible">True</property>
			  <property name="stock">gtk-apply</property>
			  <property name="icon_size">4</property>
			  <property name="xalign">0.5</property>
			  <property name="yalign">0.5</property>
			  <property name="xpad">0</property>
			  <property name="ypad">0</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>

		      <child>
			<widget class="GtkLabel" id="label103">
			  <property name="visible">True</property>
			  <property name="label" translatable="yes">_Apply</property>
			  <property name="use_underline">True</property>
			  <property name="use_markup">False</property>
			  <property name="justify">GTK_JUSTIFY_LEFT</property>
			  <property name="wrap">False</property>
			  <property name="selectable">False</property>
			  <property name="xalign">0.5</property>
			  <property name="yalign">0.5</property>
			  <property name="xpad">0</property>
			  <property name="ypad">0</property>
			</widget>
			<packing>
			  <property name="padding">0</property>
			  <property name="expand">False</property>
			  <property name="fill">False</property>
			</packing>
		      </child>
		    </widget>
		  </child>
		</widget>
	      </child>
	    </widget>
	  </child>
	</widget>
	<packing>
	  <property name="padding">0</property>
	  <property name="expand">False</property>
	  <property name="fill">True</property>
	  <property name="pack_type">GTK_PACK_END</property>
	</packing>
      </child>

      <child>
	<widget class="GtkTable" id="table1">
	  <property name="border_width">5</property>
	  <property name="visible">True</property>
	  <property name="n_rows">3</property>
	  <property name="n_columns">2</property>
	  <property name="homogeneous">False</property>
	  <property name="row_spacing">6</property>
	  <property name="column_spacing">12</property>

	  <child>
	    <widget class="GtkLabel" id="label101">
	      <property name="visible">True</property>
	      <property name="label" translatable="yes">_Mode:</property>
	      <property name="use_underline">True</property>
	      <property name="use_markup">False</property>
	      <property name="justify">GTK_JUSTIFY_LEFT</property>
	      <property name="wrap">False</property>
	      <property name="selectable">False</property>
	      <property name="xalign">0</property>
	      <property name="yalign">0.5</property>
	      <property name="xpad">0</property>
	      <property name="ypad">0</property>
	    </widget>
	    <packing>
	      <property name="left_attach">0</property>
	      <property name="right_attach">1</property>
	      <property name="top_attach">0</property>
	      <property name="bottom_attach">1</property>
	      <property name="x_options">fill</property>
	      <property name="y_options"></property>
	    </packing>
	  </child>

	  <child>
	    <widget class="GtkLabel" id="label102">
	      <property name="visible">True</property>
	      <property name="label" translatable="yes">_Relation:</property>
	      <property name="use_underline">True</property>
	      <property name="use_markup">False</property>
	      <property name="justify">GTK_JUSTIFY_LEFT</property>
	      <property name="wrap">False</property>
	      <property name="selectable">False</property>
	      <property name="xalign">0</property>
	      <property name="yalign">0.5</property>
	      <property name="xpad">0</property>
	      <property name="ypad">0</property>
	    </widget>
	    <packing>
	      <property name="left_attach">0</property>
	      <property name="right_attach">1</property>
	      <property name="top_attach">1</property>
	      <property name="bottom_attach">2</property>
	      <property name="x_options">fill</property>
	      <property name="y_options"></property>
	    </packing>
	  </child>

	  <child>
	    <widget class="GtkOptionMenu" id="link_mode">
	      <property name="visible">True</property>
	      <property name="can_focus">True</property>
	      <property name="history">0</property>

	      <child>
		<widget class="GtkMenu" id="menu2">

		  <child>
		    <widget class="GtkMenuItem" id="cascade1">
		      <property name="visible">True</property>
		      <property name="label" translatable="yes">Cascade</property>
		      <property name="use_underline">True</property>
		      <signal name="activate" handler="on_cascade1_activate" last_modification_time="Sun, 14 Mar 2004 22:09:20 GMT"/>
		    </widget>
		  </child>
		</widget>
	      </child>
	    </widget>
	    <packing>
	      <property name="left_attach">1</property>
	      <property name="right_attach">2</property>
	      <property name="top_attach">0</property>
	      <property name="bottom_attach">1</property>
	      <property name="x_options">fill</property>
	      <property name="y_options"></property>
	    </packing>
	  </child>

	  <child>
	    <widget class="GtkOptionMenu" id="link_relation">
	      <property name="visible">True</property>
	      <property name="can_focus">True</property>
	      <property name="history">0</property>

	      <child>
		<widget class="GtkMenu" id="menu1">

		  <child>
		    <widget class="GtkMenuItem" id="finish_to_start1">
		      <property name="visible">True</property>
		      <property name="label" translatable="yes">Finish To Start</property>
		      <property name="use_underline">True</property>
		      <signal name="activate" handler="on_finish_to_start1_activate" last_modification_time="Sun, 14 Mar 2004 22:09:07 GMT"/>
		    </widget>
		  </child>
		</widget>
	      </child>
	    </widget>
	    <packing>
	      <property name="left_attach">1</property>
	      <property name="right_attach">2</property>
	      <property name="top_attach">1</property>
	      <property name="bottom_attach">2</property>
	      <property name="x_options">fill</property>
	      <property name="y_options"></property>
	    </packing>
	  </child>

	  <child>
	    <widget class="GtkLabel" id="label104">
	      <property name="visible">True</property>
	      <property name="label" translatable="yes">_Lag:</property>
	      <property name="use_underline">True</property>
	      <property name="use_markup">False</property>
	      <property name="justify">GTK_JUSTIFY_LEFT</property>
	      <property name="wrap">False</property>
	      <property name="selectable">False</property>
	      <property name="xalign">0</property>
	      <property name="yalign">0.5</property>
	      <property name="xpad">0</property>
	      <property name="ypad">0</property>
	      <property name="mnemonic_widget">lag_text</property>
	    </widget>
	    <packing>
	      <property name="left_attach">0</property>
	      <property name="right_attach">1</property>
	      <property name="top_attach">2</property>
	      <property name="bottom_attach">3</property>
	      <property name="x_options">fill</property>
	      <property name="y_options"></property>
	    </packing>
	  </child>

	  <child>
	    <widget class="GtkEntry" id="lag_text">
	      <property name="visible">True</property>
	      <property name="can_focus">True</property>
	      <property name="editable">True</property>
	      <property name="visibility">True</property>
	      <property name="max_length">0</property>
	      <property name="text" translatable="yes">0d</property>
	      <property name="has_frame">True</property>
	      <property name="invisible_char" translatable="yes">*</property>
	      <property name="activates_default">False</property>
	    </widget>
	    <packing>
	      <property name="left_attach">1</property>
	      <property name="right_attach">2</property>
	      <property name="top_attach">2</property>
	      <property name="bottom_attach">3</property>
	      <property name="y_options"></property>
	    </packing>
	  </child>
	</widget>
	<packing>
	  <property name="padding">0</property>
	  <property name="expand">True</property>
	  <property name="fill">True</property>
	</packing>
      </child>
    </widget>
  </child>
</widget>

</glade-interface>



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