Source code for ooodev.adapter.awt.uno_control_list_box_comp

from __future__ import annotations
from typing import cast, TYPE_CHECKING

try:
    # python 3.12+
    from typing import override  # noqa # type: ignore
except ImportError:
    from typing_extensions import override  # noqa # type: ignore

from ooodev.units.size_px import SizePX
from ooodev.adapter.awt.uno_control_comp import UnoControlComp
from ooodev.adapter.awt.list_box_partial import ListBoxPartial
from ooodev.adapter.awt.layout_constrains_partial import LayoutConstrainsPartial
from ooodev.adapter.awt.text_layout_constrains_partial import TextLayoutConstrainsPartial

if TYPE_CHECKING:
    from com.sun.star.awt import UnoControlListBox


[docs]class UnoControlListBoxComp(UnoControlComp, ListBoxPartial, LayoutConstrainsPartial, TextLayoutConstrainsPartial):
[docs] def __init__(self, component: UnoControlListBox): """ Constructor Args: component (Any): Component that implements ``com.sun.star.awt.UnoControlListBox`` service. """ UnoControlComp.__init__(self, component=component) ListBoxPartial.__init__(self, component=self.component, interface=None) LayoutConstrainsPartial.__init__(self, component=self.component, interface=None) TextLayoutConstrainsPartial.__init__(self, component=self.component, interface=None)
@override def _ComponentBase__get_supported_service_names(self) -> tuple[str, ...]: """Returns a tuple of supported service names.""" return ("com.sun.star.awt.UnoControlListBox",)
[docs] @override def get_minimum_size(self) -> SizePX: # type: ignore """ Gets the minimum size for this component. Returns: SizePX: Minimum size in pixel units. Note: Use ``get_minimum_size_text_layout()`` to get the minimum size for a given number of columns and lines. """ result = self.component.getMinimumSize() return SizePX.from_unit_val(result.Width, result.Height)
@property @override def component(self) -> UnoControlListBox: """UnoControlListBox Component""" # pylint: disable=no-member return cast("UnoControlListBox", self._ComponentBase__get_component()) # type: ignore