From: <had...@us...> - 2008-08-13 16:14:12
|
Revision: 3795 http://fudaa.svn.sourceforge.net/fudaa/?rev=3795&view=rev Author: hadouxad Date: 2008-08-13 16:14:17 +0000 (Wed, 13 Aug 2008) Log Message: ----------- - creation du jxtreetablemodel avec 3 colonnes (icon, nom, checkbox) - optimisation d utilisation des objets graphiques avec les renderer (EbliJXTreeTableCellRenderer pour l icone) - gestion des maj en cas d'ajouts suppression d objets - edition du titre des eblinode directement sur le tree - si on clique sur le repertoire courant: ca masque tout les noeuds fils et inversement - integration du tree a droite dans l implementation - surcharge de la methode addFille de trpostProjet, je verrais avec toi comment executer les graphes. Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-13 16:13:16 UTC (rev 3794) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-13 16:14:17 UTC (rev 3795) @@ -6,14 +6,18 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; import java.util.EnumSet; +import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; +import javax.swing.SwingUtilities; import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.gui.CtuluPopupListener; @@ -26,6 +30,7 @@ import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; +import org.fudaa.ebli.visuallibrary.calque.EditCreator; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.InplaceEditorProvider; import org.netbeans.api.visual.action.PopupMenuProvider; @@ -51,6 +56,8 @@ private EGGraphe graphe; private EbliNodeDefault nodeLegende=null; + + public EGGraphe getGraphe() { return graphe; } @@ -65,6 +72,7 @@ setGraphe(_graphe); + //-- creation de l action pour editor --// WidgetAction editorAction = ActionFactory.createInplaceEditorAction(this); @@ -190,6 +198,9 @@ return panelGraphe; } + + + public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-13 16:13:16 UTC (rev 3794) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-13 16:14:17 UTC (rev 3795) @@ -21,15 +21,20 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeGround; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; import org.fudaa.ebli.visuallibrary.tree.EbliCheckBoxNodeEditor; -import org.fudaa.ebli.visuallibrary.tree.EbliCheckBoxTreeRenderer; +import org.fudaa.ebli.visuallibrary.tree.EbliJXTreeTableCellRenderer; import org.fudaa.ebli.visuallibrary.tree.EbliWidgetJXTree; import org.fudaa.ebli.visuallibrary.tree.EbliWidgetJXTreeModel; +import org.fudaa.ebli.visuallibrary.tree.EbliWidgetJXTreeTableModel; import org.fudaa.fudaa.tr.common.TrResource; +import org.jdesktop.swingx.JXTreeTable; +import org.jdesktop.swingx.decorator.HighlighterFactory; +import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; import javax.swing.Box; import javax.swing.JScrollPane; import javax.swing.JToolBar; import javax.swing.JTree; +import javax.swing.ListSelectionModel; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuInternalFrame; @@ -69,13 +74,13 @@ /** * Tree associe a la scene. */ - private EbliWidgetJXTree tree_; + private JXTreeTable tree_; + public int indiceLayer=1; - /** * Constructeur de la fenetre. */ @@ -87,7 +92,7 @@ scene_ = new EbliScene(); // -- construction du jtree - +/* // etape 1 construction du model EbliWidgetJXTreeModel model = new EbliWidgetJXTreeModel(1); @@ -98,11 +103,55 @@ tree_ = new EbliWidgetJXTree(model); //renderer du jxtree - EbliCheckBoxTreeRenderer renderer = new EbliCheckBoxTreeRenderer(); + EbliJXTreeTableCellRenderer renderer = new EbliJXTreeTableCellRenderer(); tree_.setCellRenderer(renderer); tree_.setCellEditor(new EbliCheckBoxNodeEditor(tree_)); tree_.setEditable(true); //tree_.setPreferredSize(new Dimension(300,600)); +*/ + + // -- construction du JXTABLETREE --// + + //creation du node root--// + DefaultMutableTreeTableNode nodeRoot=new DefaultMutableTreeTableNode("Layer "+indiceLayer); + //-- creation du tablemodel --// + EbliWidgetJXTreeTableModel modeltable= new EbliWidgetJXTreeTableModel(nodeRoot,indiceLayer,scene_); + + //-- ajout au listener de la scene--// + scene_.addEbliNodeListener(modeltable); + + //-- creation du JXtabletree --// + tree_=new JXTreeTable(modeltable); + + //-- ajout du tree au model pour les dimensionnements --// + modeltable.setTree_(tree_); + + //--vision du noeud root --// + tree_.setRootVisible(true); + + //--ajout du renderer pour les images-// + tree_.setTreeCellRenderer(new EbliJXTreeTableCellRenderer()); + + //-- ouvert par defaut --// + tree_.expandAll(); + + //-- ajout des highlighters customs --// + tree_.setHighlighters(HighlighterFactory.createSimpleStriping()); + tree_.setShowsRootHandles(true); + //-- selection unique --// + tree_.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + tree_.setEditable(true); + + //--dimensions des colonnes --// + tree_.getColumn(0).setPreferredWidth(60); + tree_.getColumn(1).setPreferredWidth(50); + tree_.getColumn(2).setPreferredWidth(5); + //FIXME Adrien: si on edite du texte dans le jxtreetable els colonnes se redimensionnents + tree_.getColumn(0).setResizable(false); + tree_.getColumn(1).setResizable(false); + tree_.getColumn(2).setResizable(false); + tree_.validate(); + //-- initialisation de la frame --// init(); } @@ -129,11 +178,11 @@ this.modelTree_ = modelTree_; } - public EbliWidgetJXTree getTree_() { + public JXTreeTable getTree_() { return tree_; } - public void setTree_(EbliWidgetJXTree tree_) { + public void setTree_(JXTreeTable tree_) { this.tree_ = tree_; } @@ -146,7 +195,7 @@ BuPanel content =new BuPanel(new BuBorderLayout()); //-- creation de la box sur le cote qui contient le tree et la sattelite view --// - Box contentEast=Box.createVerticalBox(); + //Box contentEast=Box.createVerticalBox(); this.add(content); @@ -162,13 +211,13 @@ //FIXME Adrien bug affichage du tree les noeuds sont renfonces sur eux //ajout du jtree sur la droite getTree_().setPreferredSize(new Dimension(200,500)); - contentEast.add(new BuScrollPane(getTree_())); + //contentEast.add(new BuScrollPane(getTree_())); //-- ajout de la vue sattelite dans la box --// - contentEast.add(getScene_().createSatelliteView()); + //contentEast.add(getScene_().createSatelliteView()); //-- ajout de la box dans le content --// - content.add(contentEast,BuBorderLayout.EAST); + //content.add(contentEast,BuBorderLayout.EAST); // content.doLayout(); //this.pack(); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-13 16:13:16 UTC (rev 3794) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-13 16:14:17 UTC (rev 3795) @@ -18,6 +18,7 @@ import java.util.Observer; import java.util.Set; +import javax.swing.JComponent; import javax.swing.JInternalFrame; import javax.swing.JMenu; import javax.swing.JTable; @@ -613,8 +614,28 @@ //filleLayout_.setTitle(s_.getTitle()); filleLayout_.setClosable(true); filleLayout_.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - + //-- agrandissement du panel droit --// + //impl_.getMainPanel().getRightColumn().setPreferredSize(new Dimension(400,impl_.getMainPanel().getPreferredSize().height)); + + + //-- ajout de la vue sattelite de la scene --// + JComponent satt =filleLayout_.getScene_().createSatelliteView(); + + //FIXME Adrien: si je decommente ci-dessous, ca plante, je ne comprends pas!!!!!!! + //impl_.getMainPanel().getRightColumn().addToggledComponent("Aper\xE7u", "SCENEAPERCU",satt,this); + + filleLayout_.getScene_().refresh(); + + //-- ajout du tree de la fille layout dans impl --// + impl_.getMainPanel().getRightColumn().addToggledComponent("Calques", "SCENECALQUES",new BuScrollPane(filleLayout_.getTree_()), this); + + filleLayout_.getScene_().refresh(); + //filleLayout_.getScene_().refresh(); + + + + final BuMenuBar menubar = impl_.getMainMenuBar(); final BuMenu menu = new BuMenu(TrResource.getS("Post"), "POST"); menu.setIcon(null); @@ -642,6 +663,9 @@ } menubar.add(menu, 2); + + + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |