Skip to content

Commit

Permalink
Eliminate unnecesary revalidate/repaint
Browse files Browse the repository at this point in the history
  • Loading branch information
Oscar Martinez committed Mar 3, 2019
1 parent 392deb5 commit 47ac11d
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 49 deletions.
8 changes: 4 additions & 4 deletions package.info
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#
#Tue Feb 12 11:56:56 CET 2019
#Sun Mar 03 18:18:26 CET 2019
owner=gvSIG Association
code=TabbedToC
java-version=j1_7
official=true
type=Script
version=1.0.0-2
version=1.0.0-3
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=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
buildNumber=3
download-url=https\://github.com/gvSIGAssociation/gvsig-desktop-scripting-TabbedToC/releases/download/1.0.0-3/gvSIG-desktop-2.5.0-TabbedToC-1.0.0-3-testing-all-all-j1_7.gvspkg
gvSIG-version=2.5.0
name=Tabbed ToC
24 changes: 13 additions & 11 deletions selectionorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
from org.gvsig.fmap.mapcontext.layers import LayerListener
from tocutils import createToCContextMenu
from tocutils import addUpdateToCListener
from tocutils import expandAllNodes
#from tocutils import expandAllNodes
from tocutils import getIconFromLayer
from tocutils import getIconByName
from org.gvsig.tools import ToolsLocator
Expand All @@ -57,17 +57,19 @@ def setTreeAsSelectionOrder(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())
setExpansionState(tree, exp)
tree.revalidate()
tree.repaint()

exp = getExpansionState(tree)
model = createTreeModel(mapContext)
tree.setModel(model)
tree.getModel().reload()
#tree.revalidate()
#tree.repaint()
#expandAllNodes(tree, 0, tree.getRowCount())
setExpansionState(tree, exp)
#tree.revalidate()
#tree.repaint()

class UpdateListener():
def __init__(self, tree, mapContext):
self.mapContext = mapContext
Expand Down
43 changes: 25 additions & 18 deletions sourceorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from javax.swing.tree import DefaultMutableTreeNode
from javax.swing.tree import DefaultTreeModel

from tocutils import expandAllNodes
#from tocutils import expandAllNodes

from java.awt import Color
from java.awt import Dimension
Expand All @@ -35,31 +35,39 @@

from tocutils import getIconByPath

from tocutils import getExpansionState
from tocutils import setExpansionState

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

tree.setCellRenderer(SourceCellRenderer(tree, mapContext))
tree.addMouseListener(SourceMouseAdapter(tree,mapContext))
addUpdateToCListener("SourceOrder", mapContext, UpdateListener(tree,mapContext))
tree.revalidate()
tree.repaint()
#tree.revalidate()
#tree.repaint()

def updateAll(tree, mapContext):
exp = getExpansionState(tree)
model = createTreeModel(mapContext)
tree.setModel(model)
tree.getModel().reload()
#tree.revalidate()
#tree.repaint()
#expandAllNodes(tree, 0, tree.getRowCount())
setExpansionState(tree, exp)
#tree.revalidate()
#tree.repaint()

class UpdateListener():
def __init__(self, tree, mapContext):
self.mapContext = mapContext
self.tree = tree

def __call__(self):
updateAll(self.tree, self.mapContext)

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


class SourceMouseAdapter(MouseAdapter):
def __init__(self,tree,mapContext):
MouseAdapter.__init__(self)
Expand All @@ -84,7 +92,7 @@ def mouseClicked(self, event):
#if SwingUtilities.isLeftMouseButton(event):
if x < 46:
return
#es = getExpansionState(self.tree) # save expansion tree state
es = getExpansionState(self.tree) # save expansion tree state
if x < 62:
v = layer.isVisible()
layer.setVisible(not v)
Expand All @@ -93,18 +101,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()
#setExpansionState(self.tree,es)
expandAllNodes(self.tree, 0, self.tree.getRowCount())
#setExpansionState(self.tree,es)
setExpansionState(self.tree,es)
#expandAllNodes(self.tree, 0, self.tree.getRowCount())
if SwingUtilities.isRightMouseButton(event):
# EVENT Right click"
menu = createToCContextMenu(self.mapContext, layer)
Expand Down Expand Up @@ -206,7 +213,7 @@ def getTreeCellRendererComponent(self, tree, value, selected, expanded, leaf, ro
else:
newfont = font.deriveFont(Font.PLAIN)
self.lblLayerName.setFont(newfont)
self.pnlLayer.repaint()
#self.pnlLayer.repaint()
return self.pnlLayer
self.lblUnknown.setText("")
self.lblUnknown.setPreferredSize(Dimension(0,0))
Expand Down
35 changes: 19 additions & 16 deletions visibilityorder.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,28 +50,31 @@

from javax.swing import BorderFactory

from tocutils import expandAllNodes
#from tocutils import expandAllNodes
from tocutils import getIconFromLayer

from javax.swing.border import EtchedBorder

from tocutils import getExpansionState
from tocutils import setExpansionState

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

tree.setCellRenderer(VisibilityCellRenderer(tree, mapContext))
tree.addMouseListener(VisibilityMouseAdapter(tree,mapContext))
vportlistener = VisibilityViewPortListener(tree, mapContext)
mapContext.getViewPort().addViewPortListener(vportlistener)
addUpdateToCListener("VisibilityOrder", mapContext, UpdateListener(tree,mapContext))
tree.revalidate()
tree.repaint()


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

class UpdateListener():
def __init__(self, tree, mapContext):
Expand Down Expand Up @@ -119,25 +122,25 @@ def mouseClicked(self, 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

# Menu popup
self.mapContext.getLayers().setAllActives(False)
layer.setActive(not layer.isActive())
self.tree.getModel().reload()
#setExpansionState(self.tree,es)
expandAllNodes(self.tree, 0, self.tree.getRowCount())
#setExpansionState(self.tree,es)
setExpansionState(self.tree,es)
#expandAllNodes(self.tree, 0, self.tree.getRowCount())

if SwingUtilities.isRightMouseButton(event):
# EVENT Right click"
menu = createToCContextMenu(self.mapContext, layer)
Expand Down

0 comments on commit 47ac11d

Please sign in to comment.