Bug 133288 - [Markers] Make Marker support public
Summary: [Markers] Make Marker support public
Status: RESOLVED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.1.1   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2006-03-26 03:39 EST by David CLA
Modified: 2009-08-30 02:07 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David CLA 2006-03-26 03:39:45 EST
I have made my own marker "MyMarker" which DOES NOT have IMarker.TASK or IMarker.BOOKMARK as a super marker. (I DO NOT want "MyMarker" to be displayed in the Task view or in the Bookmark view.). I want to make a "MyMarkerViewer".

Using the Eclipse source as the user guide of how to make a marker viewer, I see that TaskView, BookmarkView, ProblemView extend MarkerView. This is no problem since MarkerView class is public as is its constructor.
However TaskView, BookmarkView, ProblemView also create TaskFilter, BookmarkFilter and ProblemFilter by extending MarkerFilter. This is the first problem since MarkerFilter constructor has package visibility. I need it to be public. MarkerFilter constructor is "MarkerFilter(String[] rootTypes)" AND it is here that I want to use my marker type "MyMarker" as the rootTypes.

Also TaskView, BookmarkView, ProblemView also create DialogTaskFilter, DialogBookmarkFilter and DialogProblemFilter by extending DialogMarkerFilter. This is the second problem since DialogMarkerFilter constructor has package visibility. I need it to be public.


Since "MyMarkerViewer" should have the same "look and feel" as the eclipse TaskView, BookmarkView or ProblemView I do not see why I should have to recreate all the resource filtering that is available in DialogMarkerFilter and MarkerFilter. This also adds a weakness to my code since it would then be dependent on how the marker types, super, resource etc are implemented.

The best solution is to change MarkerFilter and DialogMarkerFilter constructors from package visibility to public visibility.
Comment 1 John Arthorne CLA 2006-03-27 11:46:19 EST
None of the MarkerView infrastructure is API.  Even though MarkerView has a public constructor, it should not be used because it is in an "internal" package.
Comment 2 David CLA 2006-03-27 15:31:27 EST
(In reply to comment #1)
> None of the MarkerView infrastructure is API.  Even though MarkerView has a
> public constructor, it should not be used because it is in an "internal"
> package.
> 

Do you have any recommendations of how I can implement MarkerFilter and DialogMarkerFilter without having to copy most of org.eclipse.ui.views.markers.internal to my own package ?
(I personally don't want to know how MarkerFilter or DialogMarkerFilter work. I just want to have an equivalent filter interface like the TaskView or the BookmarkView.)
Comment 3 Tod Creasey CLA 2006-03-27 15:54:47 EST
Sadly no - we intentionally have left this internal as there is a lot there and it would take a concerted effort for us to make it API. Currently you can define your own filter in xml if that helps.
Comment 4 Tod Creasey CLA 2006-04-07 16:52:32 EDT
There is no plan to do this currently
Comment 5 Denis Roy CLA 2009-08-30 02:07:51 EDT
As of now 'LATER' and 'REMIND' resolutions are no longer supported.
Please reopen this bug if it is still valid for you.