|
|||||||||||
| 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
org.apache.batik.swing.gvt.JGVTComponent
org.apache.batik.swing.svg.JSVGComponent
org.apache.batik.swing.JSVGCanvas
fi.helsinki.cs.nero.ui.Map
Käyttöliittymän karttakomponentti. Toteutukseen käytetään Batikin JSVGCanvas-käyttöliittymäkomponenttia. Toteutusta hankaloittaa se, että Batikin tietorakenteiden käsittely täytyy tehdä Batikin omasta säikeestä käsin, kun taas muu sovellus pyörii lähinnä Swingin tapahtumakäsittelijäsäikeessä. Täytyy siis tarvittaessa vaihtaa säikeestä toiseen. SVG-dokumentissa on huone-elementtejä, joiden tila esitetään graafisesti. Huoneille asetetaan CSS-luokka (attribuutti class), jonka jälkeen ulkoasu määritellään erillisessa CSS-tyylitiedostossa. Luokat ovat seuraavat: room tämä on aina kaikilla huoneilla project valitun projektin huone active valittu huone filtered hakuehtojen mukainen occupied varattu partfree osittain vapaa free vapaa noposts ei sisällä yhtään työpistettä
| Nested Class Summary | |
private class |
Map.FloorClickHandler
Kuuntelija, jonka koodi suoritetaan kerroksenvaihtonappeja klikattaessa. |
private class |
Map.RoomClickHandler
Kuuntelija, jonka koodi suoritetaan kartan elementtejä klikattaessa. |
private class |
Map.SVGLoadListener
Kuuntelija, jonka koodi suoritetaan, kun SVG-dokumentin lataus on valmis. |
private class |
Map.WindowOpenListener
Kuuntelija, jonka koodi suoritetaan, kun Swingin pääikkuna (JFrame) on avattu. |
| Nested classes inherited from class org.apache.batik.swing.JSVGCanvas |
org.apache.batik.swing.JSVGCanvas.AffineAction, org.apache.batik.swing.JSVGCanvas.CanvasSVGListener, org.apache.batik.swing.JSVGCanvas.CanvasUserAgent, org.apache.batik.swing.JSVGCanvas.LocationListener, org.apache.batik.swing.JSVGCanvas.ResetTransformAction, org.apache.batik.swing.JSVGCanvas.RotateAction, org.apache.batik.swing.JSVGCanvas.ScrollAction, org.apache.batik.swing.JSVGCanvas.ScrollDownAction, org.apache.batik.swing.JSVGCanvas.ScrollLeftAction, org.apache.batik.swing.JSVGCanvas.ScrollRightAction, org.apache.batik.swing.JSVGCanvas.ScrollUpAction, org.apache.batik.swing.JSVGCanvas.ToolTipModifier, org.apache.batik.swing.JSVGCanvas.ZoomAction, org.apache.batik.swing.JSVGCanvas.ZoomInAction, org.apache.batik.swing.JSVGCanvas.ZoomOutAction |
| Nested classes inherited from class org.apache.batik.swing.svg.JSVGComponent |
org.apache.batik.swing.svg.JSVGComponent.BridgeUserAgent, org.apache.batik.swing.svg.JSVGComponent.BridgeUserAgentWrapper, org.apache.batik.swing.svg.JSVGComponent.JSVGComponentListener, org.apache.batik.swing.svg.JSVGComponent.SVGListener |
| Nested classes inherited from class org.apache.batik.swing.gvt.JGVTComponent |
org.apache.batik.swing.gvt.JGVTComponent.Listener |
| Nested classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
| Nested classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
| Nested classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary | |
private char |
activeFloor
Valitun kerroksen id. |
private org.w3c.dom.Element |
activeRoom
Valittua huonetta vastaava SVG-dokumentin elementti. |
private static java.lang.String |
BUTTON_CLASS
Kartta-SVG:n kerrosnappien class-attribuutti. |
private static java.lang.String |
BUTTON_PREFIX
Kartta-SVG:n kerrosnappien id:iden alkuosa. |
private static java.lang.String |
BUTTONS_ID
Kartta-SVG:n nappien ryhmän id. |
private org.w3c.dom.svg.SVGDocument |
document
Ladattu kartta SVG-dokumenttina. |
private static java.lang.String |
FLOOR_PREFIX
Kartta-SVG:n kerrosten id:iden alkuosa. |
private static java.lang.String |
FLOORS
Kartan kerrosten tunnukset. |
private static java.lang.String |
FLOORS_ID
Kartta-SVG:n kerrosten ryhmän id. |
private java.util.Collection |
projectRooms
Projektin huone-elementtejä säilyttävä kokoelma. |
private static int |
ROOMLABEL_OFFSET_X
Huoneen nimitekstin vasemman reunan etäisyys huoneen vasemmasta reunasta. |
private static int |
ROOMLABEL_OFFSET_Y
Huoneen nimitekstin alareunan etäisyys huoneen yläreunasta. |
private java.util.Map |
roomsByNumber
Hajautusrakenne, joka tallettaa kaikki järjestelmän tuntemat huoneet. |
private Session |
session
Sovelluslogiikan sessio. |
private static java.lang.String |
SVGFILE
Tiedosto, joka sisältää karttapohjan SVG-muodossa. |
private java.lang.String |
svgNS
SVG:n XML-nimiavaruuden määrittävä URI. |
| Fields inherited from class org.apache.batik.swing.JSVGCanvas |
FAST_SCROLL_DOWN_ACTION, FAST_SCROLL_LEFT_ACTION, FAST_SCROLL_RIGHT_ACTION, FAST_SCROLL_UP_ACTION, imageZoomInteractor, locationListener, panInteractor, pcs, RESET_TRANSFORM_ACTION, resetTransformInteractor, rotateInteractor, SCROLL_DOWN_ACTION, SCROLL_LEFT_ACTION, SCROLL_RIGHT_ACTION, SCROLL_UP_ACTION, uri, ZOOM_IN_ACTION, ZOOM_OUT_ACTION, zoomInteractor |
| Fields inherited from class org.apache.batik.swing.svg.JSVGComponent |
afterStopRunnable, ALWAYS_DYNAMIC, ALWAYS_INTERACTIVE, ALWAYS_STATIC, AUTODETECT, bridgeContext, documentLoader, documentState, FEATURES, fragmentIdentifier, gvtTreeBuilder, gvtTreeBuilderListeners, isDynamicDocument, isInteractiveDocument, jsvgComponentListener, linkActivationListeners, loader, nextDocumentLoader, nextGVTTreeBuilder, nextUpdateManager, prevComponentSize, recenterOnResize, svgDocument, svgDocumentLoaderListeners, svgLoadEventDispatcher, svgLoadEventDispatcherListeners, svgUserAgent, updateManager, updateManagerListeners, updateOverlay, userAgent |
| Fields inherited from class org.apache.batik.swing.gvt.JGVTComponent |
disableInteractions, doubleBufferedRendering, eventDispatcher, eventsEnabled, gvtRoot, gvtTreeRenderer, gvtTreeRendererListeners, image, initialTransform, interactor, interactors, jgvtListeners, listener, needRender, overlays, paintingTransform, progressivePaint, progressivePaintThread, renderer, rendererFactory, renderingTransform, selectableText, suspendInteractions, textSelectionManager |
| Fields inherited from class javax.swing.JComponent |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| Fields inherited from class java.awt.Container |
|
| 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 |
| Constructor Summary | |
Map(Session session,
javax.swing.JFrame frame)
Konstruktori, joka luo karttakomponentin. |
|
| Method Summary | |
private void |
addClass(org.w3c.dom.Element el,
java.lang.String newclass)
Apumetodi SVG-dokumentin elementin class-attribuutin päivittämiseksi. |
private void |
clearRoomStatus()
Palauttaa kaikkien kartalla näkyvien huoneiden tilan alkutilaan eli poistaa kaikki korostukset. |
private void |
removeClass(org.w3c.dom.Element el,
java.lang.String cl)
Apumetodi SVG-dokumentin elementin class-attribuutin päivittämiseksi. |
private void |
setActiveFloor(char floorID)
Asettaa aktiivisen kerroksen. |
private void |
setActiveRoom(Room room)
Asettaa aktiivisen huoneen sovelluslogiikalle. |
private void |
showRoomNumbers()
Piirtää kaikkien huoneiden numerot kartalle. |
private void |
updateActiveRoom(Room room,
boolean changeFloor)
Merkkaa aktiivisen huoneen kartalle. |
private void |
updateFilteredRooms(Room[] rooms,
int[] roomStatuses)
Merkkaa hakuehtojen mukaiset huoneet kartalle. |
void |
updateObserved(int type)
Kutsutaan sen kertomiseksi, ett? kuunneltava tieto on muuttunut. |
private void |
updateProjectRooms(Room[] rooms)
Merkkaa projektin huoneet kartalle. |
| Methods inherited from class org.apache.batik.swing.JSVGCanvas |
addPropertyChangeListener, addPropertyChangeListener, createListener, createUserAgent, getEnableImageZoomInteractor, getEnablePanInteractor, getEnableResetTransformInteractor, getEnableRotateInteractor, getEnableZoomInteractor, getURI, installActions, installKeyboardActions, removePropertyChangeListener, removePropertyChangeListener, setDisableInteractions, setEnableImageZoomInteractor, setEnablePanInteractor, setEnableResetTransformInteractor, setEnableRotateInteractor, setEnableZoomInteractor, setURI |
| Methods inherited from class org.apache.batik.swing.svg.JSVGComponent |
addGVTTreeBuilderListener, addLinkActivationListener, addSVGDocumentLoaderListener, addSVGLoadEventDispatcherListener, addUpdateManagerListener, calculateViewingTransform, computeRenderingTransform, createBridgeContext, createImageRenderer, dispose, flushImageCache, getCanvasGraphicsNode, getCanvasGraphicsNode, getFragmentIdentifier, getRecenterOnResize, getSVGDocument, getSVGDocumentSize, getUpdateManager, getViewBoxTransform, handleException, installSVGDocument, isDynamic, isInteractive, loadSVGDocument, removeGVTTreeBuilderListener, removeLinkActivationListener, removeSVGDocumentLoaderListener, removeSVGLoadEventDispatcherListener, removeUpdateManagerListener, renderGVTTree, resumeProcessing, setDocument, setDocumentState, setFragmentIdentifier, setGraphicsNode, setMySize, setRecenterOnResize, setSVGDocument, showAlert, showConfirm, showPrompt, showPrompt, startSVGLoadEventDispatcher, stopProcessing, stopThenRun, suspendProcessing, updateRenderingTransform |
| Methods inherited from class org.apache.batik.swing.gvt.JGVTComponent |
addGVTTreeRendererListener, addJGVTComponentListener, deselectAll, flush, flush, getDisableInteractions, getDoubleBufferedRendering, getGraphicsNode, getInitialTransform, getInteractors, getOffScreen, getOverlays, getPaintingTransform, getProgressivePaint, getRenderingTransform, getRenderRect, getSelectionOverlayColor, getSelectionOverlayStrokeColor, immediateRepaint, initializeEventHandling, isSelectionOverlayXORMode, paintComponent, releaseRenderingReferences, removeGVTTreeRendererListener, removeJGVTComponentListener, resetRenderingTransform, scheduleGVTRendering, select, setDoubleBufferedRendering, setGraphicsNode, setPaintingTransform, setProgressivePaint, setRenderingTransform, setRenderingTransform, setSelectionOverlayColor, setSelectionOverlayStrokeColor, setSelectionOverlayXORMode |
| Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI |
| Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
| Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
private static final java.lang.String SVGFILE
private static final java.lang.String FLOORS
private static final java.lang.String BUTTONS_ID
private static final java.lang.String BUTTON_PREFIX
private static final java.lang.String BUTTON_CLASS
private static final java.lang.String FLOOR_PREFIX
private static final java.lang.String FLOORS_ID
private static final int ROOMLABEL_OFFSET_X
private static final int ROOMLABEL_OFFSET_Y
private org.w3c.dom.svg.SVGDocument document
private Session session
private java.util.Map roomsByNumber
private java.lang.String svgNS
private org.w3c.dom.Element activeRoom
private char activeFloor
private java.util.Collection projectRooms
| Constructor Detail |
public Map(Session session,
javax.swing.JFrame frame)
session - sovelluslogiikan sessioframe - Swingin pääikkuna| Method Detail |
public void updateObserved(int type)
NeroObserver
updateObserved in interface NeroObservertype - muuttuneen tiedon tyyppi
private void addClass(org.w3c.dom.Element el,
java.lang.String newclass)
el - elementti jonka class-attribuuttia muokataannewclass - lisättävä class-arvo
private void removeClass(org.w3c.dom.Element el,
java.lang.String cl)
el - elementti jonka class-attribuuttia muokataanprivate void clearRoomStatus()
private void updateActiveRoom(Room room,
boolean changeFloor)
room - uusi aktiivinen huonechangeFloor - vaihdetaanko myös kerrostaprivate void updateProjectRooms(Room[] rooms)
private void updateFilteredRooms(Room[] rooms,
int[] roomStatuses)
private void setActiveFloor(char floorID)
floorID - kerroksen id 1-merkkisenä merkkijononaprivate void setActiveRoom(Room room)
room - huoneprivate void showRoomNumbers()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||