Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.ui/DESIGN.TXT')
-rw-r--r--bundles/org.eclipse.team.ui/DESIGN.TXT93
1 files changed, 0 insertions, 93 deletions
diff --git a/bundles/org.eclipse.team.ui/DESIGN.TXT b/bundles/org.eclipse.team.ui/DESIGN.TXT
deleted file mode 100644
index 91dffbe4a..000000000
--- a/bundles/org.eclipse.team.ui/DESIGN.TXT
+++ /dev/null
@@ -1,93 +0,0 @@
-
-======================
- core
-======================
-SyncInfo
-- represents relative sync of local and remote gives access to resources
-
-TeamSubscriber
-- creates sync infos
-
-SyncInfoSet/MutableSyncInfoSet (optimized collection of sync infos - immutable)
-
-SyncInfoFilter (filtering of sync sets used by actions and creation of sync sets)
-
-SyncInfoCollector (collects sync infos from subscriber, and optionally from workspace. Uses background thread to collect and calculate changes. Is updated automatically with changes)
-
-FilteredSyncInfoSet (filters a provided sync info set with a given filter and possible roots)
-
-======================
- ui
-======================
-
-ISynchronizeManager (manages the lifesycle of synchronize participants)
-
-ISynchronizeView
-
-ISynchronizeParticipant (shows in the sync view, has a mode, working set, and creates a page with the UI pieces)
-
-Modes in sync view (DirectionFilterActionGroup)
-
-SyncInfoSetCompareConfiguration (encapsulates navigation, menus, content, label providers)this
- is used to configure a viewer in different ways based on it's use.
-
-SyncInfoDiffTreeViewer/SyncInfoDiffCheckboxViewer (shows diff nodes)
-
-SyncInfoDiffNode -> DiffNode
-
-SyncInfoSetCompareInput
-
-
-
-DiffNode
-SyncInfoDiffNode
-
-Viewer
-ContentProvider
-Sorter
-LabelProvider
-ViewerInput
-
-1. sync set is created
-2. decide how to model the sync set (hierachy, compressed, change log...) sorter...
-3. hook up chagnen listener
-4. ensure model doesn't change while building it?
-5. update model dynamically
-6. dispose of listener when input changes
-
-SuperCharged MVC
-================
-
-Sync Set Compare Input (displays a diff tree viewer with the compare panes)
-
-Sync Info Compare Input (displays a compare pane for one sync info)
-
-Viewer (viewers) -> view configurators (menus, content provider, label provider, controller)
-
-Viewer Model (diff nodes) logical structure of sync info
-
-Viewer Input (creates viewer model, keeps it up-to-date, sorter)
-
-Data (sync info, sync info set)
-
-1. when does the viewer model get created, it is implementation dependant
-2. why is creating the viewer model takes a while.
-
-How is progress shown?
-======================
-
-1. actions that run jobs that affect a view's content should schedule in the view
- - object contributions, or delegates get this for free via SubscriberAction which
- has a schedule which will schedule via the associated IWorkbenchPart.
- - actions programatically added to a view should be initialized with the view part or view site
- so that it can run the job in the view's context.
- - this will get you (1) the view icon change hint, (2) the half-busy cursor
-2. jobs should provide meaningful progress shown in progress view
- - this will get you (1) a job listed in the progress support showing that something is happening
-3. if working on syncinfodiffnodes in the background you can mark the nodes as working as a hint
- to the UI to display them differently (e.g. should make this adapter specific)
- - this will get you (1) nodes in the sync view showing that they are being worked on
-4. Use progress groups in refresh to show remote refresh and sync calculation as one work item.
- - this will get you (1) one entry in the progress view for both the remote refresh and background
- processing of sync states. no more updating sync view message.
-

Back to the top