Source code for ooodev.form.controls.form_ctl_group_box
from __future__ import annotations
from typing import cast, TYPE_CHECKING
from com.sun.star.awt import XControl
from ooodev.utils.kind.form_component_kind import FormComponentKind
from ooodev.form.controls.form_ctl_base import FormCtlBase
if TYPE_CHECKING:
from com.sun.star.form.component import GroupBox as ControlModel # service
from com.sun.star.form.control import GroupBox as ControlView # service
from ooodev.loader.inst.lo_inst import LoInst
[docs]class FormCtlGroupBox(FormCtlBase):
"""``com.sun.star.form.component.GroupBox`` control"""
[docs] def __init__(self, ctl: XControl, lo_inst: LoInst | None = None) -> None:
"""
Constructor
Args:
ctl (XControl): Control supporting ``com.sun.star.form.component.GroupBox`` service.
lo_inst (LoInst, optional): Lo Instance. Use when creating multiple documents. Defaults to ``None``.
Returns:
None:
Note:
If the :ref:`LoContext <ooodev.utils.context.lo_context.LoContext>` manager is use before this class is instantiated,
then the Lo instance will be set using the current Lo instance. That the context manager has set.
Generally speaking this means that there is no need to set ``lo_inst`` when instantiating this class.
See Also:
:ref:`ooodev.form.Forms`.
"""
FormCtlBase.__init__(self, ctl=ctl, lo_inst=lo_inst)
# region Overrides
if TYPE_CHECKING:
# override the methods to provide type hinting
def get_view(self) -> ControlView:
"""Gets the view of this control"""
return cast("ControlView", super().get_view())
def get_model(self) -> ControlModel:
"""Gets the model for this control"""
return cast("ControlModel", super().get_model())
[docs] def get_form_component_kind(self) -> FormComponentKind:
"""Gets the kind of form component this control is"""
return FormComponentKind.GROUP_BOX
# endregion Overrides
# region Properties
@property
def enabled(self) -> bool:
"""Gets/Sets the enabled state for the control"""
return self.model.Enabled
@enabled.setter
def enabled(self, value: bool) -> None:
self.model.Enabled = value
@property
def help_text(self) -> str:
"""Gets/Sets the tip text"""
return self.model.HelpText
@help_text.setter
def help_text(self, value: str) -> None:
self.model.HelpText = value
@property
def help_url(self) -> str:
"""Gets/Sets the help url"""
return self.model.HelpURL
@help_url.setter
def help_url(self, value: str) -> None:
self.model.HelpURL = value
@property
def label(self) -> str:
"""Gets/Sets the label"""
return self.model.Label
@label.setter
def label(self, value: str) -> None:
self.model.Label = value
@property
def model(self) -> ControlModel:
"""Gets the model for this control"""
return self.get_model()
@property
def printable(self) -> bool:
"""Gets/Sets the printable property"""
return self.model.Printable
@printable.setter
def printable(self, value: bool) -> None:
self.model.Printable = value
@property
def step(self) -> int:
"""Gets/Sets the step"""
return self.model.Step
@step.setter
def step(self, value: int) -> None:
self.model.Step = value
@property
def tip_text(self) -> str:
"""Gets/Sets the tip text"""
return self.model.HelpText
@tip_text.setter
def tip_text(self, value: str) -> None:
self.model.HelpText = value
@property
def view(self) -> ControlView:
"""Gets the view of this control"""
return self.get_view()
# endregion Properties