diff --git a/cnd.qnavigator/nbproject/project.xml b/cnd.qnavigator/nbproject/project.xml --- a/cnd.qnavigator/nbproject/project.xml +++ b/cnd.qnavigator/nbproject/project.xml @@ -50,6 +50,15 @@ + org.netbeans.modules.editor.breadcrumbs + + + + 0 + 1.5 + + + org.netbeans.modules.editor.lib2 diff --git a/cnd.qnavigator/src/org/netbeans/modules/cnd/qnavigator/layer.xml b/cnd.qnavigator/src/org/netbeans/modules/cnd/qnavigator/layer.xml --- a/cnd.qnavigator/src/org/netbeans/modules/cnd/qnavigator/layer.xml +++ b/cnd.qnavigator/src/org/netbeans/modules/cnd/qnavigator/layer.xml @@ -45,6 +45,50 @@ --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cnd.qnavigator/src/org/netbeans/modules/cnd/qnavigator/navigator/NavigatorModel.java b/cnd.qnavigator/src/org/netbeans/modules/cnd/qnavigator/navigator/NavigatorModel.java --- a/cnd.qnavigator/src/org/netbeans/modules/cnd/qnavigator/navigator/NavigatorModel.java +++ b/cnd.qnavigator/src/org/netbeans/modules/cnd/qnavigator/navigator/NavigatorModel.java @@ -71,6 +71,7 @@ import org.netbeans.modules.cnd.qnavigator.navigator.CsmFileFilter.SortMode; import org.netbeans.modules.cnd.qnavigator.navigator.CsmFileModel.PreBuildModel; import org.netbeans.modules.cnd.utils.MIMENames; +import org.netbeans.modules.editor.breadcrumbs.spi.BreadcrumbsController; import org.openide.loaders.DataObject; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; @@ -261,11 +262,27 @@ } } + private void updateBreadcrumb(AbstractNode root, Node node) { + JEditorPane pane = findCurrentJEditorPane(); + if (pane == null || root == null || node == null) { + return; + } + Document doc = pane.getDocument(); + if (doc == null) { + return; + } + if (!BreadcrumbsController.areBreadCrumsEnabled(doc)) { + return; + } + BreadcrumbsController.setBreadcrumbs(doc, root, node); + } + private void setSelection(long caretLineNo) { synchronized(lock) { Node node = fileModel.setSelection(caretLineNo); if (node != null) { ui.selectNode(node); + updateBreadcrumb(this.root, node); } } }