From: <jde...@us...> - 2012-09-05 15:59:41
|
Revision: 17140 http://pcgen.svn.sourceforge.net/pcgen/?rev=17140&view=rev Author: jdempsey Date: 2012-09-05 15:59:30 +0000 (Wed, 05 Sep 2012) Log Message: ----------- New UI - Remember selected views Issue#: CODE-1403 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java Modified: Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java 2012-09-05 15:36:38 UTC (rev 17139) +++ Trunk/pcgen/code/src/java/pcgen/gui2/util/JTreeViewTable.java 2012-09-05 15:59:30 UTC (rev 17140) @@ -395,6 +395,10 @@ viewColumn.setHeaderValue(view.getViewName()); sortModel(); getTableHeader().repaint(); + PropertyContext context = + baseContext.createChildContext( + this.viewModel.getDataView().getPrefsKey()); + context.setProperty("view", view.getViewName()); //$NON-NLS-1$ } public TreeViewModel<?> getTreeViewModel() @@ -406,6 +410,11 @@ { ListFacade<? extends TreeView<T>> views = viewModel.getTreeViews(); TreeView<? super T> startingView = views.getElementAt(viewModel.getDefaultTreeViewIndex()); + PropertyContext context = + baseContext.createChildContext( + viewModel.getDataView().getPrefsKey()); + String viewName = context.initProperty("view", startingView.getViewName()); + startingView = findViewByName(views, viewName); if (treetableModel != null && treetableModel.getSelectedTreeView() != null) { startingView = treetableModel.getSelectedTreeView(); @@ -437,6 +446,25 @@ }); } + /** + * Find the named view. + * @param views The list of TreeViews. + * @param viewName The name of the desired view. + * @return The matching view, or the first one if none match. + */ + private TreeView<? super T> findViewByName( + ListFacade<? extends TreeView<T>> views, String viewName) + { + for (TreeView<T> treeView : views) + { + if (treeView.getViewName().equals(viewName)) + { + return treeView; + } + } + return views.getElementAt(0); + } + private class TreeViewsPopupMenu extends JPopupMenu implements ListListener<TreeView<T>> { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |