# mypy: disable-error-code="misc, override, attr-defined, no-redef, assignment"

import CatalogAPI as CatalogAPI
import UI4.Tabs.Monitor.CatalogGLHelpers as CatalogGLHelpers
import UI4.Util.DrawState as DrawState
import PyFnAttribute as FnAttribute
import UI4.Tabs.Monitor.Layers as Layers
import NodegraphAPI as NodegraphAPI
import PyOpenColorIO as OCIO
import UI4.KatanaPrefs.PrefNames as PrefNames
import PyFnGeolib
import PyQt5.QtCore
import PyQt5.QtGui
import QT4Color as QT4Color
import QT4FormWidgets as QT4FormWidgets
import QT4GLLayerStack as QT4GLLayerStack
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import PyResolutionTableFn as ResolutionTable
import UI4 as UI4
import Utils as Utils
from PyUtilModule.VirtualKatana import RenderManager as RenderManager, ScenegraphManager as ScenegraphManager
from QT4GLLayerStack.LayerStack import LayerStack
from QT4Widgets.MenuButton import MenuButton
from UI4.KatanaPrefs.KatanaPrefsObject import KatanaPrefs as KatanaPrefs
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class MonitorWidget(LayerStack):
    IMAGE_MODE_3D: ClassVar[int] = ...
    IMAGE_MODE_DISSOLVE: ClassVar[int] = ...
    IMAGE_MODE_LINEAR_SWIPE: ClassVar[int] = ...
    IMAGE_MODE_NORMAL: ClassVar[int] = ...
    IMAGE_MODE_RECTANGLE_SWIPE: ClassVar[int] = ...
    IMAGE_MODE_SPLIT_HORIZONTAL: ClassVar[int] = ...
    IMAGE_MODE_SPLIT_VERTICAL: ClassVar[int] = ...
    displayItemsChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    drawStateLinkUpdate: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    drawStateUpdated: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    editTransformEnabled: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    editTransformErrored: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    imageModeApplied: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    imageModeChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    manipulatorVisibilityChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    maskChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    monitorAddToolbar: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    monitorPopToolbar: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    monitorRemoveToolbar: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    overlayChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    pixelProbeEnabledVisibilityChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    roiVisibilityChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    swapCatalogViewKeyPressed: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    syncPanZoomSignal: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, parent: Incomplete | None = ..., catalogClientKey: Incomplete | None = ..., reversedLabels: bool = ...) -> None: ...
    def _MonitorWidget__addManipulator(self, policy): ...
    def _MonitorWidget__addToolbar(self, toolbar, layer): ...
    def _MonitorWidget__buildLayers(self): ...
    def _MonitorWidget__calculateViewRange(self, viewIndex, isZ): ...
    def _MonitorWidget__calculateViewRangeZ_CB(self, drawState): ...
    def _MonitorWidget__calculateViewRange_CB(self, drawState): ...
    def _MonitorWidget__catalog_clientSlotUpdate_CB(self, eventType, eventID): ...
    def _MonitorWidget__catalog_itemDelete_CB(self, eventType, eventID, item, **kwargs): ...
    def _MonitorWidget__catalog_itemImageUpdate_CB(self, eventType, eventID, item, **kwargs): ...
    def _MonitorWidget__catalog_itemPropertyUpdate_CB(self, eventType, eventID, item, **kwargs): ...
    def _MonitorWidget__catalog_rebuild_CB(self, args: list): ...
    def _MonitorWidget__checkEditTranformErrorStatus(self): ...
    def _MonitorWidget__deleteManipulator(self, policy): ...
    def _MonitorWidget__drawStateUpdated_CB(self, drawState): ...
    def _MonitorWidget__getManipulatorDict(self, policy): ...
    def _MonitorWidget__getManipulatorDictForLayer(self, layer): ...
    def _MonitorWidget__initClientManagers(self): ...
    def _MonitorWidget__isManipulatorPresent(self, policy): ...
    def _MonitorWidget__manipulator_animationPathsUpdate_CB(self, eventType, eventID, **kwargs): ...
    def _MonitorWidget__manipulator_update_CB(self, eventType, eventID, policy, isEnabled, **kwargs): ...
    def _MonitorWidget__onRootUpdate(self, locationEvent: PyFnGeolib.LocationEvent, key: str): ...
    def _MonitorWidget__on_node_setViewed(self, args): ...
    def _MonitorWidget__on_pixelProbeColorspaceCombobox_activated(self, index): ...
    def _MonitorWidget__on_pixelProbeModeCombobox_activated(self, index): ...
    def _MonitorWidget__popToolbar(self, toolbar, layer): ...
    def _MonitorWidget__prefChanged_CB(self, eventType, eventID, *args, **kwargs): ...
    def _MonitorWidget__recomputePixelProbe(self, final: bool = ...): ...
    def _MonitorWidget__removeToolbar(self, toolbar, layer): ...
    def _MonitorWidget__stereoValuePolicy_CB(self, changeEvent): ...
    def _MonitorWidget__updateEditTransformedLayers(self): ...
    def _MonitorWidget__updateManipulatorVisibility(self, d): ...
    def _MonitorWidget__updateProbeLabels(self): ...
    def _MonitorWidget__updateROILayer(self): ...
    def createPixelProbeToolbar(self, layout): ...
    def drawDisplayItem(self, viewIndex, additionalTileCacheIDsToLock: Incomplete | None = ...): ...
    def firstPaintGL(self): ...
    def fontChange(self, oldFont: PyQt5.QtGui.QFont): ...
    def frame(self, viewBounds: Incomplete | None = ...): ...
    def getAltOffset(self): ...
    def getAnaglyphSaturation(self): ...
    def getAnamorphDisplayScale(self): ...
    def getBucketOrderPreviewEnabled(self): ...
    def getCatalogClientKey(self): ...
    def getCurrentDrawView(self): ...
    def getCurrentlyViewedViews(self): ...
    def getDataRegionPreviewEnabled(self): ...
    def getDataWindowBounds(self): ...
    def getDisplayItemStats(self, viewIndex, rect: Incomplete | None = ..., ignoreNanInfValues: bool = ..., minInf: Incomplete | None = ..., maxInf: Incomplete | None = ...): ...
    def getDisplayItems(self): ...
    def getDisplayWindowBounds(self): ...
    def getDisplayWindowPreviewEnabled(self): ...
    def getDrawStates(self): ...
    def getDrawStatesLinked(self): ...
    def getEditTransformEnabled(self): ...
    def getEditTransformNode(self): ...
    def getGlobalManipulatorVisibility(self): ...
    def getImageMode(self): ...
    def getImageModeNames(self): ...
    def getLeftView(self): ...
    def getLocalManipulatorVisibility(self, policy): ...
    def getMaskLayer(self): ...
    def getMonoView(self): ...
    def getOverlayItem(self): ...
    def getOverlayMode(self): ...
    def getPixelProbeCenter(self): ...
    def getPixelProbeEnabled(self): ...
    def getPixelProbeRect(self): ...
    def getPixelProbeSize(self): ...
    def getRightView(self): ...
    def getRoiVisible(self): ...
    def getStereoMode(self): ...
    def getStereoValuePolicy(self): ...
    def getSyncPanZoom(self): ...
    def getUnderlayItem(self): ...
    def getViewIndexFromWindowPos(self, qpos): ...
    def getViewSlots(self): ...
    def getVisibleItems(self): ...
    def hideEvent(self, event): ...
    def initManipulators(self): ...
    def isCapableOfNativeStereo(self): ...
    def isOverlayEnabled(self): ...
    def isUnderlayEnabled(self): ...
    def paintGL(self): ...
    def setAltOffset(self, offset): ...
    def setAnaglyphSaturation(self, sat): ...
    def setAnamorphDisplayScale(self, scale): ...
    def setBucketOrderPreviewEnabled(self, isEnabled): ...
    def setDataRegionPreviewEnabled(self, isEnabled): ...
    def setDisplayItem(self, view, catalogItem): ...
    def setDisplayWindowPreviewEnabled(self, isEnabled): ...
    def setDrawStates(self, drawStates): ...
    def setDrawStatesLinked(self, linked): ...
    def setEditTransformEnabled(self, enable): ...
    def setFocusLayer(self, layer, isFocused: bool = ...): ...
    def setGlobalManipulatorVisibility(self, isVisible): ...
    def setImageMode(self, imageMode): ...
    def setLeftView(self, view): ...
    def setLocalManipulatorVisibility(self, policy, isVisible): ...
    def setMonoView(self, view): ...
    def setOverlayEnabled(self, isEnabled): ...
    def setOverlayItem(self, catalogItem): ...
    def setOverlayMode(self, mode): ...
    def setPixelProbeCenter(self, center, final: bool = ...): ...
    def setPixelProbeEnabled(self, enabled): ...
    def setPixelProbeRect(self, lbrt, final: bool = ...): ...
    def setPixelProbeSize(self, size, final: bool = ...): ...
    def setRightView(self, view): ...
    def setRoiVisible(self, visible): ...
    def setStereoMode(self, mode): ...
    def setSyncPanZoom(self, sync): ...
    def setUnderlayEnabled(self, isEnabled): ...
    def setUnderlayItem(self, catalogItem): ...
    def setViewLeft(self): ...
    def setViewMono(self): ...
    def setViewRight(self): ...
    def showEvent(self, event): ...
    def swapDisplayItems(self): ...
    def syncViewTo(self, eyePoint, viewScale): ...
    def update(self): ...

class ScenegraphGotoButton(MenuButton):
    def __init__(self, *args) -> None: ...
    def _ScenegraphGotoButton__copyToClipboard_CB(self): ...
    def _ScenegraphGotoButton__selectInScenegraph_CB(self): ...
    def setScenegraphLocation(self, sgLoc): ...
