FeaturesPluginsDocs & SupportCommunityPartners

NetBeans Forums

 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
  

navigator problem

 
Post new topic   Reply to topic    NetBeans Forums -> NetBeans Developers
View previous topic :: View next topic  
Author Message
Dilini



Joined: 31 Jul 2009
Posts: 11

PostPosted: Thu Aug 06, 2009 9:06 am    Post subject: navigator problem Reply with quote

Hi,

I read your Architecture document and try to implement navigator.

After I implement it, my navigator display context not change when switch
between two files. That means, when I switch between two files, Navigator
content not been changed.

When first time I open new file it correctly display Navigator data. But
after when I open another file navigator data not been change. So how can I
resolve this problem?


I attach some part of my code to this mail.

It’s very thankful If you can help me to resolve this problem


Thanks and Regards

Dilini



package ucsc.msc.intelligentPlsqlEditor.Navigator;

import java.awt.Component;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import javax.swing.JComponent;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTree;

import javax.swing.ToolTipManager;

import javax.swing.tree.DefaultMutableTreeNode;

import org.netbeans.spi.navigator.NavigatorPanel;

import org.openide.filesystems.FileObject;

import org.openide.util.Lookup;

import org.openide.util.LookupEvent;

import org.openide.util.LookupListener;

import ucsc.msc.intelligentPlsqlEditor.dataobjects.PLSQLDataObject;



public class BasicNavPanelImpl implements NavigatorPanel {



private JComponent panelUI;

private static final Lookup.Template MY_DATA = new
Lookup.Template(PLSQLDataObject.class);

/** current context to work on */

private Lookup.Result curContext;

/** listener to context changes */

private LookupListener contextL;

private JTree tree;

DefaultMutableTreeNode root;

DefaultMutableTreeNode child;

DefaultMutableTreeNode Secondchild;

public Map<Integer, NavigatorData> map = new HashMap<Integer,
NavigatorData>();//= new HashMap<Integer, String[]>();

NavigatorData nvigate;



/** public no arg constructor needed for system to instantiate provider
well */

public BasicNavPanelImpl() {

}



public String getDisplayHint() {

return "Basic dummy implementation of NavigatorPanel interface";

}



public String getDisplayName() {

return "Dummy View";

}



public JComponent getComponent() {

System.out.println("get component");

if (panelUI == null) {

tree = new JTree(root);

CustomTreeCellRenderer customCellRenderer = new
CustomTreeCellRenderer();

tree.setCellRenderer(customCellRenderer);

ToolTipManager.sharedInstance().registerComponent(tree);

panelUI = new JScrollPane(tree);

panelUI.updateUI();

}

return panelUI;

}



public void panelActivated(Lookup context) {

System.out.println("Panel Activate");

// lookup context and listen to result to get notified about context
changes

curContext = context.lookup(MY_DATA);

curContext.addLookupListener(getContextListener());

// get actual data and recompute content

Collection data = curContext.allInstances();

setNewContent(data);


}



public void panelDeactivated() {

System.out.println("Deactivate");

curContext.removeLookupListener(getContextListener());

curContext = null;

panelUI = null;



}


public Lookup getLookup() {

// go with default activated Node strategy

return null;

}



/************* non - public part ************/

private void setNewContent(Collection newData) {

System.out.println(" ShowContact ********");


nvigate = new NavigatorData();

Iterator ite = newData.iterator();

while (ite.hasNext()) {

PLSQLDataObject dObj = (PLSQLDataObject) ite.next();

while (true) {

try {

FileObject fo = dObj.getPrimaryFile();

String nameOfFile = dObj.getNodeDelegate().getName();

root = new DefaultMutableTreeNode(nameOfFile);

InputStream is = fo.getInputStream();

BufferedReader from = new BufferedReader(new
InputStreamReader(is));

String line;

while ((line = from.readLine()) != null) {

lineNo++;

ClassifyData(line);

}

CreateTree(map);


break;

} catch (Exception exception) {

System.out.println(" Exception in line read" +
exception);



}

}


break;

}



}



/** Accessor for listener to context */

private LookupListener getContextListener() {

if (contextL == null) {

contextL = new ContextListener();

}

return contextL;

}



/** Listens to changes of context and triggers proper action */

private class ContextListener implements LookupListener {



public void resultChanged(LookupEvent ev) {


System.out.println("result change");

Collection data = ((Lookup.Result)
ev.getSource()).allInstances();

setNewContent(data);

getComponent();


}

} // end of ContextListener





public String getContentType() {

return "text/x-plsql";

}


public void ClassifyData(String Readdataline) {


}


public void CreateTree(Map<Integer, NavigatorData> DetailForTree) {

int mapSize = DetailForTree.size();

System.out.println(mapSize);

for (int i = 1; i <= mapSize; i++) {

NavigatorData obj = DetailForTree.get(i);

int i_Level = obj.getLevel();


if (i_Level == 1) {

child = new DefaultMutableTreeNode(obj);


root.add(child);


} else {

Secondchild = new DefaultMutableTreeNode(obj);

child.add(Secondchild);


}

}


}


}


--
View this message in context: http://www.nabble.com/navigator-problem-tp24841048p24841048.html
Sent from the Netbeans Project Developers (not for user help) mailing list archive at Nabble.com.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    NetBeans Forums -> NetBeans Developers All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Powered by phpBB