Class AnahataTopComponent
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.openide.windows.TopComponent
uno.anahata.ai.nb.AnahataTopComponent
- All Implemented Interfaces:
ImageObserver, MenuContainer, Externalizable, Serializable, Accessible, org.openide.util.HelpCtx.Provider, org.openide.util.Lookup.Provider, StatusListener
public final class AnahataTopComponent
extends org.openide.windows.TopComponent
implements Externalizable, StatusListener
The main TopComponent for the Anahata AI Assistant plugin.
This component hosts the chat interface and manages the lifecycle of the AI session.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.openide.windows.TopComponent
org.openide.windows.TopComponent.Cloneable, org.openide.windows.TopComponent.Description, org.openide.windows.TopComponent.NodeName, org.openide.windows.TopComponent.OpenActionRegistration, org.openide.windows.TopComponent.Registration, org.openide.windows.TopComponent.Registry, org.openide.windows.TopComponent.SubComponentNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields inherited from class org.openide.windows.TopComponent
CLOSE_EACH, CLOSE_LAST, PERSISTENCE_ALWAYS, PERSISTENCE_NEVER, PERSISTENCE_ONLY_OPENED, PROP_CLOSING_DISABLED, PROP_DND_COPY_DISABLED, PROP_DRAGGING_DISABLED, PROP_KEEP_PREFERRED_SIZE_WHEN_SLIDED_IN, PROP_MAXIMIZATION_DISABLED, PROP_SLIDING_DISABLED, PROP_UNDOCKING_DISABLEDFields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor for AnahataTopComponent.AnahataTopComponent(String initialMessage, List<com.google.genai.types.Part> initialParts, String nickname) Constructor that allows starting a session with an initial message and optional parts (like images). -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidstatic voidDisposes of a specific AnahataTopComponent session, closing its UI and shutting down its chat session.Action[]static List<AnahataTopComponent> Returns an unmodifiable list of all active AnahataTopComponent sessions.getChat()Returns the Chat instance associated with this TopComponent.Returns the NetBeans-specific chat configuration.Returns the unique ID of this TopComponent as registered in the WindowManager.voidPerforms the actual shutdown of the chat session.voidvoidsetSessionUuidForHandoff(String sessionUuid) Sets the session UUID for handoff between components.voidstatusChanged(ChatStatus newStatus, String lastExceptionToString) voidMethods inherited from class org.openide.windows.TopComponent
addNotify, associateLookup, availableModes, cancelRequestAttention, canClose, canClose, close, close, closeNotify, componentActivated, componentDeactivated, componentHidden, componentShowing, getAccessibleContext, getActivatedNodes, getCloseOperation, getDisplayName, getHelpCtx, getHtmlDisplayName, getIcon, getLookup, getPersistenceType, getRegistry, getShortName, getSubComponents, getSystemActions, getTabPosition, getUndoRedo, isOpened, isOpened, makeBusy, open, open, openAction, openAtTabPosition, openNotify, preferredID, processKeyBinding, requestActive, requestAttention, requestFocus, requestFocusInWindow, requestVisible, setActivatedNodes, setAttentionHighlight, setCloseOperation, setDisplayName, setHtmlDisplayName, setIcon, setName, setToolTipText, toFront, writeReplaceMethods inherited from class JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, 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, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUIMethods inherited from class Container
add, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods inherited from class 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, firePropertyChange, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
AnahataTopComponent
public AnahataTopComponent()Default constructor for AnahataTopComponent. Initializes the component and adds it to the list of active sessions. -
AnahataTopComponent
public AnahataTopComponent(String initialMessage, List<com.google.genai.types.Part> initialParts, String nickname) Constructor that allows starting a session with an initial message and optional parts (like images).- Parameters:
initialMessage- The first text message to send.initialParts- Optional parts (e.g., screenshots) to include in the first message.nickname- An optional nickname for the session.
-
-
Method Details
-
getAllSessions
Returns an unmodifiable list of all active AnahataTopComponent sessions.- Returns:
- a list of active sessions.
-
disposeSession
Disposes of a specific AnahataTopComponent session, closing its UI and shutting down its chat session.- Parameters:
tc- the TopComponent to dispose.
-
getTopComponentId
Returns the unique ID of this TopComponent as registered in the WindowManager.- Returns:
- the TopComponent ID.
-
getActions
- Overrides:
getActionsin classorg.openide.windows.TopComponent
-
componentOpened
public void componentOpened()- Overrides:
componentOpenedin classorg.openide.windows.TopComponent
-
componentClosed
public void componentClosed()- Overrides:
componentClosedin classorg.openide.windows.TopComponent
-
performShutdown
public void performShutdown()Performs the actual shutdown of the chat session. This should only be called when the session is being permanently disposed of. -
getChat
Returns the Chat instance associated with this TopComponent.- Returns:
- the Chat instance, or null if not initialized.
-
getNetBeansChatConfig
Returns the NetBeans-specific chat configuration.- Returns:
- the NetBeansChatConfig instance.
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classorg.openide.windows.TopComponent- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classorg.openide.windows.TopComponent- Throws:
IOExceptionClassNotFoundException
-
setSessionUuidForHandoff
Sets the session UUID for handoff between components.- Parameters:
sessionUuid- the UUID to set.
-
statusChanged
- Specified by:
statusChangedin interfaceStatusListener
-
