diff options
Diffstat (limited to 'dbaccess/source/ui/control/FieldDescControl.cxx')
-rw-r--r-- | dbaccess/source/ui/control/FieldDescControl.cxx | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/dbaccess/source/ui/control/FieldDescControl.cxx b/dbaccess/source/ui/control/FieldDescControl.cxx index bb10fb787f9f..28f3c9662500 100644 --- a/dbaccess/source/ui/control/FieldDescControl.cxx +++ b/dbaccess/source/ui/control/FieldDescControl.cxx @@ -78,6 +78,7 @@ OFieldDescControl::OFieldDescControl(weld::Container* pPage, OTableDesignHelpBar , m_nEditWidth(50) , pActFieldDescr(nullptr) { + m_pHelp->connect_focus_out(LINK(this, OFieldDescControl, HelpFocusOut)); } OFieldDescControl::~OFieldDescControl() @@ -170,7 +171,7 @@ void OFieldDescControl::SetReadOnly( bool bReadOnly ) , m_xScale.get(), m_xColumnName.get() , m_xType.get(), m_xAutoIncrementValue.get() }; - weld::Widget* ppAggregatesText[] = { m_xRequiredText.get(), m_xNumTypeText.get() + weld::Widget* ppAggregatesText[] = { m_xRequiredText.get(), m_xNumTypeText.get() , m_xAutoIncrementText.get(), m_xDefaultText.get() , m_xTextLenText.get(), m_xLengthText.get() , m_xScaleText.get(), m_xColumnNameText.get() @@ -1145,8 +1146,10 @@ void OFieldDescControl::UpdateFormatSample(OFieldDescription const * pFieldDescr m_xFormatSample->set_text(getControlDefault(pFieldDescr,false)); } -void OFieldDescControl::GetFocus() +void OFieldDescControl::GrabFocus() { + m_xContainer->grab_focus(); + // Set the Focus to the Control that has been active last if (m_pLastFocusWindow) { @@ -1166,9 +1169,9 @@ void OFieldDescControl::implFocusLost(weld::Widget* _pWhich) m_pHelp->SetHelpText( OUString() ); } -void OFieldDescControl::LoseFocus() +IMPL_LINK_NOARG(OFieldDescControl, HelpFocusOut, weld::Widget&, void) { - implFocusLost(nullptr); + m_pHelp->SetHelpText(OUString()); } bool OFieldDescControl::IsFocusInEditableWidget() const @@ -1190,6 +1193,11 @@ bool OFieldDescControl::IsFocusInEditableWidget() const return false; } +bool OFieldDescControl::HasChildPathFocus() const +{ + return m_pActFocusWindow && m_pActFocusWindow->has_focus(); +} + bool OFieldDescControl::isCopyAllowed() { int nStartPos, nEndPos; |