|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
cds.aladin.View
public final class View
Gestionnaire des vues. Il s'agit d'afficher les plans actifs (voir ToolBox) dans l'ordre de visibilite selon l'echelle indiquee par le zoom (voir ZoomView) et ceci pour toutes les vues
La souris a differentes fonctions suivant l'outil (Tool bar) active. Ce peut etre la simple selection d'une source, le dessin d'objet graphique, le zoom pointe... INFO DE PROGRAMMATION SUR LA GESTION DU MULTIVIEW. A partir de la version 3, Aladin gère le multiview. Pour ce faire, l'ancienne classe View a été scindée en deux : . View : gère tout ce qui concerne l'ensemble des vues . ViewSimple : gère l'affichage d'une vue particulière Et plusieurs classes ont été ajoutées: . ViewMemo et ViewMemoItem : mémorisent les infos sur toutes les vues actives . ViewControl : gère le sélecteur définissant le nombre de vues simultanées. D'autre part, certaines infos qui se trouvaient dans ZoomView ont été rapatriées dans ViewSimple car propre à chaque vue (notamment la valeur courante du zoom, son centre). Ainsi bon nombre de méthodes qui devaient connaître la valeur du zoom courant et pour lesquelles il fallait passer l'objet ZoomView, ont désormais comme paramètre directement ViewSimple à la place de ZoomView. Quelques détails qui peuvent servir: 1) View compare les vues en cours d'affichage avec celles qui devraient être affichées (en fonction du scrollbar ou d'un changement du nombre de vues). S'il y a eu modif, View va sauvegarder les vues et regénérer les nouvelles via ViewMemo. Puis il va appeler en séquence le repaint de chacune de ces vues. Lors du réaffichage d'une vue, l'update de la vue ajuste automatiquement le zoom afin que la zone visible reste la même (zoomAdjust). (principales variables viewSimple[], modeView et currentView) 2) Les overlays graphiques (sources ou objets graphiques) ont désormais des tableaux dimensionnés en fct du nombre de vues pour mémoriser les x,y pour chaque image de chaque vue, ainsi que pour les x,y de la portion zoomée. D'autre part, comme les plans objets ne se désactivent plus automatiquement, il faut désormais mémoriser le fait qu'un plan catalogue n'est pas projetable pour une vue particulière. Pour ce faire, on utilise un tableau d'état se trouvant dans plan.pcat.drawnInViewSimple[] et consultable par plan.pcat.isDrawnInViewSimple(int n). Cette méthode sera appelé pour filtrer les plans objets non concernés (détection des objets sous la souris...) 3) L'affectation d'un plan dans une vue peut se faire désormais par glisser déposer depuis la pile dans une vue. Idem pour le déplacement d'une vue ou sa copie (Ctrl). La gestion de cette fonction se fait par les méthodes megaDrag... Il est a noter que la vue cible est déterminée par la méthode getTargetViewForEvent() en fonction de la configuration des panels graphiques d'Aladin. 4) Pour conserver de bonnes performances, l'indice de chaque vue dans le tableau viewSimple[] est mémorisé dans chaque ViewSimple (variable n). En effet, pour tracer n'importe quel objet graphique, la procédure de drawing doit connaître le numéro de la vue concernée (indice dans les différents caches (x,y)) en plus du facteur de zoom. Il serait trop long de parcourir le tableau View.viewSimple[] à chaque fois. Il faut donc remettre à jour ces variables "n" à chaque regénération d'une vue récupérée de ViewMemo. (voir View.recharge()) 5) Le blinking (d'une source ou d'une image blink) est désormais géré par un thread particulier (voir startBlinking() et runC())
Aladin.ToolBox
,
Aladin.Zoomview
,
Aladin.ViewSimple
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Field Summary |
---|
Fields inherited from class javax.swing.JComponent |
---|
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Method Summary | |
---|---|
void |
adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
|
boolean |
isOpaque()
|
boolean |
isRecalibrating()
Il y a une recalibration par Quadruplet en cours |
void |
paintBordure()
Affichage rapide des bordures des vues |
void |
quickRepaintAll()
|
void |
repaintAll()
Cette méthode d'affichage du multiview me semble un peu casse-gueule dans le sens où je surcharge repaint() sans appelé super.repaint() et c'est moi-même qui me charge d'appeler individuellement les repaint() de chaque vue. |
void |
run()
Aiguillage pour les 2 differents types de resolution simbad et un éventuel blinking |
boolean |
runB()
Resolution Sesame par Thread independant pour un objet particulier |
void |
setMouseView(ViewSimple v)
Spécifie la vue sous la souris (afin d'être affiché avec une bordure verte et le plan de la pile qui correspond. |
void |
updateAll()
|
Methods inherited from class javax.swing.JPanel |
---|
getAccessibleContext, getUI, getUIClassID, setUI, updateUI |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
public void setMouseView(ViewSimple v)
v
- la vue sous la souris, ou null si aucunepublic boolean isOpaque()
isOpaque
in class javax.swing.JComponent
public boolean isRecalibrating()
public void run()
run
in interface java.lang.Runnable
public boolean runB()
public void paintBordure()
public void repaintAll()
public void updateAll()
public void quickRepaintAll()
public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
adjustmentValueChanged
in interface java.awt.event.AdjustmentListener
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |