Skip to content

Commit

Permalink
Fixed save state jtree
Browse files Browse the repository at this point in the history
  • Loading branch information
Oscar Martinez committed Mar 3, 2019
1 parent 03f313f commit 392deb5
Show file tree
Hide file tree
Showing 25 changed files with 1,650 additions and 90 deletions.
Binary file modified images/drawingorder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/drawingorder_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/drawingorder_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/selectionorder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/selectionorder_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/sourceorder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/sourceorder_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/sourceorder_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/visivilityorder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/visivilityorder_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions package.info
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#
#Thu Apr 26 11:21:27 CEST 2018
#Tue Feb 12 11:56:56 CET 2019
owner=gvSIG Association
code=TabbedToC
java-version=j1_7
official=true
type=Script
version=1.0.0-1
version=1.0.0-2
state=testing
operating-system=all
dependencies=
Expand All @@ -16,7 +16,7 @@ model-version=1.0.1
categories=View
description=New Table of Contents in the View to handle layers ordered by drawing, source, visibility or selection
owner-url=
buildNumber=1
download-url=https\://github.com/gvSIGAssociation/gvsig-desktop-scripting-TabbedToC/releases/download/1.0.0-1/gvSIG-desktop-2.4.0-TabbedToC-1.0.0-1-testing-all-all-j1_7.gvspkg
gvSIG-version=2.4.0
buildNumber=2
download-url=https\://github.com/gvSIGAssociation/gvsig-desktop-scripting-TabbedToC/releases/download/1.0.0-2/gvSIG-desktop-2.5.0-TabbedToC-1.0.0-2-testing-all-all-j1_7.gvspkg
gvSIG-version=2.5.0
name=Tabbed ToC
29 changes: 15 additions & 14 deletions selectionorder.inf
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
[script]
enable = true

[Unit]
type = Script
name = selectionorder
description =
createdBy =
version =

[Script]
main = main
Lang = python

[script]
enable = true

[Unit]
type = Script
name = selectionorder
description =
createdBy =
version =

[Script]
main = main
Lang = python
enable = true

41 changes: 21 additions & 20 deletions selectionorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

# TODO soport para el viewportlistener
# http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.3/capturando_eventos.html

import tocutils
reload(tocutils)
import os
from org.gvsig.app.project.documents.view.toc import TocItemBranch

Expand Down Expand Up @@ -39,37 +40,34 @@
from org.gvsig.tools import ToolsLocator

from javax.swing.tree import TreePath

from org.gvsig.fmap.dal.feature.impl import DefaultFeatureStore

from org.gvsig.fmap.mapcontext.layers import LayerListener

from tocutils import createToCContextMenu

from tocutils import addUpdateToCListener

from tocutils import expandAllNodes
from tocutils import getIconFromLayer
from tocutils import getIconByName

from org.gvsig.tools import ToolsLocator


from tocutils import getExpansionState
from tocutils import setExpansionState

def setTreeAsSelectionOrder(tree, mapContext):
updateAll(tree, mapContext)

tree.setCellRenderer(SelectionCellRenderer(tree, mapContext))
tree.addMouseListener(SelectionMouseAdapter(tree,mapContext))
addUpdateToCListener("SelectionOrder", mapContext, UpdateListener(tree,mapContext))

def updateAll(tree, mapContext):
#print ">>> updateAll Order"
exp = getExpansionState(tree)
model = createTreeModel(mapContext)
tree.setModel(model)
tree.getModel().reload()
expandAllNodes(tree, 0, tree.getRowCount())

#expandAllNodes(tree, 0, tree.getRowCount())
setExpansionState(tree, exp)
tree.revalidate()
tree.repaint()

class UpdateListener():
def __init__(self, tree, mapContext):
self.mapContext = mapContext
Expand All @@ -91,7 +89,7 @@ def mouseClicked(self, event):
row = self.tree.getRowForLocation(x,y)
path = self.tree.getPathForRow(row)
if path == None: # or path.getPathCount() != 3:
return
return
node = path.getLastPathComponent()
#print "node feature mouseadapter:", x,y,row,path

Expand All @@ -100,6 +98,7 @@ def mouseClicked(self, event):
if isinstance(node.getUserObject(), DataGroup):
return
if isinstance(node.getUserObject(), FeatureDataLayerNode):
es = getExpansionState(self.tree)
uo = node.getUserObject()
feature = uo.getFeature()
if x>42 and x<62:
Expand All @@ -108,22 +107,24 @@ def mouseClicked(self, event):
elif x>62:
envelope = feature.getDefaultGeometry().getEnvelope()
self.mapContext.getViewPort().setEnvelope(envelope)
setExpansionState(self.tree,es)
return
if isinstance(node.getUserObject(), DataLayer):
layer = node.getUserObject().getLayer()
#if SwingUtilities.isLeftMouseButton(event):
#print "left mouseadapter:", x,y,row,path
if x < 20:
return
#es = getExpansionState(self.tree) # save expansion tree state
es = getExpansionState(self.tree) # save expansion tree state
if x < 40:
v = layer.isVisible()
layer.setVisible(not v)
# TODO set state model
model = createTreeModel(self.mapContext)
self.tree.setModel(model)
self.tree.getModel().reload()
#setExpansionState(self.tree,es)
expandAllNodes(self.tree, 0, self.tree.getRowCount())
setExpansionState(self.tree,es)
#expandAllNodes(self.tree, 0, self.tree.getRowCount())
return
if x < 60:
layer.getSelection().deselectAll()
Expand All @@ -132,17 +133,17 @@ def mouseClicked(self, event):
self.tree.setModel(model)
self.tree.getModel().reload()
#self.tree.getModel().reload()
#setExpansionState(self.tree,es)
expandAllNodes(self.tree, 0, self.tree.getRowCount())
setExpansionState(self.tree,es)
#expandAllNodes(self.tree, 0, self.tree.getRowCount())
return

# Menu popup
self.mapContext.getLayers().setAllActives(False)
layer.setActive(not layer.isActive())
self.tree.getModel().reload()

expandAllNodes(self.tree, 0, self.tree.getRowCount())
#setExpansionState(self.tree,es)
#expandAllNodes(self.tree, 0, self.tree.getRowCount())
setExpansionState(self.tree,es)
if SwingUtilities.isRightMouseButton(event):
# EVENT Right click"
menu = createToCContextMenu(self.mapContext, layer)
Expand Down
29 changes: 15 additions & 14 deletions sourceorder.inf
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
[script]
enable = true

[Unit]
type = Script
name = sourceorder
description =
createdBy =
version =

[Script]
main = main
Lang = python

[script]
enable = true

[Unit]
type = Script
name = sourceorder
description =
createdBy =
version =

[Script]
main = main
Lang = python
enable = true

2 changes: 2 additions & 0 deletions sourceorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ def setTreeAsSourceOrder(tree, mapContext):
tree.setCellRenderer(SourceCellRenderer(tree, mapContext))
tree.addMouseListener(SourceMouseAdapter(tree,mapContext))
addUpdateToCListener("SourceOrder", mapContext, UpdateListener(tree,mapContext))
tree.revalidate()
tree.repaint()

class UpdateListener():
def __init__(self, tree, mapContext):
Expand Down
1 change: 1 addition & 0 deletions tabbedtoc.inf
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ version =
[Script]
main = main
Lang = python
enable = true

9 changes: 9 additions & 0 deletions tabbedtoc.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@

from java.awt import BorderLayout

import tocutils
reload(tocutils)

import sourceorder
reload(sourceorder)
from sourceorder import setTreeAsSourceOrder
Expand Down Expand Up @@ -59,10 +62,16 @@ def install(self, viewPanel):
self.__mapContext = viewPanel.getMapControl().getMapContext()
# TAB Source Order
setTreeAsSourceOrder(self.treeSourceOrder, self.__mapContext)
self.treeSourceOrder.revalidate()
self.treeSourceOrder.repaint()
# TAB Visibility
setTreeAsVisibilityOrder(self.treeVisibilityOrder, self.__mapContext)
self.treeVisibilityOrder.revalidate()
self.treeVisibilityOrder.repaint()
# TAB Selection
setTreeAsSelectionOrder(self.treeSelectionOrder, self.__mapContext)
self.treeSelectionOrder.revalidate()
self.treeSelectionOrder.repaint()

def translateUI(self):
#manager = ToolsSwingLocator.getToolsSwingManager()
Expand Down
Loading

0 comments on commit 392deb5

Please sign in to comment.