Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [mylyn-integrators] help with displaying task in editor

Thanks Peter.  You've already put me on the right path - before, I wasn't adding the type metadata to the attributes I was creating.

What I'm wondering: is it a good strategy to just use the existing attribute names, and the existing parts?  Assuming I can reverse-engineer the code and figure out which attributes to use for each parts, I ought to be able to build a pretty good task editor just from those...right?

-larry

-----Original Message-----
From: mylyn-integrators-bounces@xxxxxxxxxxx [mailto:mylyn-integrators-bounces@xxxxxxxxxxx] On Behalf Of Peter Stibrany
Sent: Monday, March 23, 2009 1:42 PM
To: Mylyn Integrators list
Subject: Re: [mylyn-integrators] help with displaying task in editor

Hello,

as you found out, task editor consists of various sections (editor
parts). Task editor (or better TaskEditorAttributePart, displayed as
"Attributes" section) can display and edit any of your attributes. It
will use attribute metadata to determine whether to show your
attribute or not and to choose correct widget (textfield, combobox,
...).

Here is sample code to create

public TaskAttribute createAttribute(TaskData data, String keyID,
String attrType, boolean isVisible, String label, boolean readOnly) {
        TaskAttribute attr = data.getRoot().createAttribute(keyID);

        TaskAttributeMetaData metaData = attr.getMetaData();
        metaData.setType(attrType);
        metaData.setKind(isVisible ? TaskAttribute.KIND_DEFAULT : null);
        metaData.setLabel(label);
        metaData.setReadOnly(readOnly);

        return attr;
}

where

KeyID is any unique ID string. In Foglyn I use FogBugz field names
(e.g. "fb_ixPriority").

AttrType can be one of TaskAttribute.TYPE_* constants, or your custom
constant. Type determines widget (subclasses of
AbstractAttributeEditor) to be created. You can have custom editors
too (in this case you'll need to use custom AttributeEditorFactory,
and return it from your AbstractTaskEditorPage subclass).

isVisible determines whether attribute should be displayed in task
editor or not. Invisible attributes are useful for storing data in a
task which you don't want to present to user.

readOnly is clear. When true, read-only editor is created for
attribute, i.e. user cannot change it in task editor.

I found little documentation about which section uses which
attributes. Fortlynately, there is source for everything, although
this part of Mylyn is quite over-engineered, and I always get lost
when looking into it. I think your only way is to look into what
sections (editor parts) are available (subclasses of
AbstractTaskEditorPart), and look into classes which sound like good
candidates (people, comments, attachment, planning, ...) to see what
attributes they use :-(

-Peter Stibrany
www.foglyn.com

On Mon, Mar 23, 2009 at 8:32 PM, Larry Edelstein
<ledelstein@xxxxxxxxxxxxxx> wrote:
> I've been working on a Mylyn connector and would like some help regarding
> how to display my task in a task editor page.  My connector pulls down data
> from our database just fine, and I expect that pushing back to the database
> will also go smoothly.  I'm a little uncertain of my strategy and tactics
> for displaying data in a task editor.  I want to reuse
> AbstractTaskEditorPage and the various AbstractTaskEditorPart subclasses.  I
> can see that I can configure my page subclass to use which parts I want.  So
> far I'm just using the page as is.  But when I run my connector, I don't see
> the data I expect in the page.
>
>
>
> What should be my strategy for reusing the page and parts?  Is it merely to
> make sure that I map the data from my database into the correct attributes
> for the parts?  If so, how do I know which attributes, and which parts
> display themselves on the page (by default)?  By reading and tracing the
> code, I thought I had found the right parts and attributes, but I'm
> disappointed in my results.
>
>
>
> Not to put too fine a point on it, but I have a demo on Wednesday morning.
> Showing more results then would be very timely for this project.  If I can
> get some guidance on how to carry out the strategy I've described, or a
> better one, it would really help.
>
>
>
> Regards,
>
>
>
> Larry Edelstein
>
> Senior Member of Technical Staff
>
> salesforce.com
>
> (415) 713-9148
>
> ledelstein@xxxxxxxxxxxxxx
>
>
>
> _______________________________________________
> mylyn-integrators mailing list
> mylyn-integrators@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/mylyn-integrators
>
>
_______________________________________________
mylyn-integrators mailing list
mylyn-integrators@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mylyn-integrators


Back to the top