Kaydet (Commit) 5a816c42 authored tarafından Caolán McNamara's avatar Caolán McNamara

weld ScRegressionDialog

Change-Id: I26cbf2b5ed7482daa8d02adb206b6a783524985a
Reviewed-on: https://gerrit.libreoffice.org/70517
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst e4c4288a
......@@ -132,49 +132,35 @@ static size_t lcl_GetNumRowsColsInRange(const ScRange& rRange, bool bRows)
ScRegressionDialog::ScRegressionDialog(
SfxBindings* pSfxBindings, SfxChildWindow* pChildWindow,
vcl::Window* pParent, ScViewData* pViewData ) :
ScStatisticsTwoVariableDialog(
weld::Window* pParent, ScViewData* pViewData )
: ScStatisticsTwoVariableDialogController(
pSfxBindings, pChildWindow, pParent, pViewData,
"RegressionDialog", "modules/scalc/ui/regressiondialog.ui" ),
mbUnivariate(true),
mnNumIndependentVars(1),
mnNumObservations(0),
mbUse3DAddresses(false),
mbCalcIntercept(true)
"modules/scalc/ui/regressiondialog.ui", "RegressionDialog")
, mbUnivariate(true)
, mnNumIndependentVars(1)
, mnNumObservations(0)
, mbUse3DAddresses(false)
, mbCalcIntercept(true)
, mxWithLabelsCheckBox(m_xBuilder->weld_check_button("withlabels-check"))
, mxLinearRadioButton(m_xBuilder->weld_radio_button("linear-radio"))
, mxLogarithmicRadioButton(m_xBuilder->weld_radio_button("logarithmic-radio"))
, mxPowerRadioButton(m_xBuilder->weld_radio_button("power-radio"))
, mxErrorMessage(m_xBuilder->weld_label("error-message"))
, mxConfidenceLevelField(m_xBuilder->weld_spin_button("confidencelevel-spin"))
, mxCalcResidualsCheckBox(m_xBuilder->weld_check_button("calcresiduals-check"))
, mxNoInterceptCheckBox(m_xBuilder->weld_check_button("nointercept-check"))
{
get(mpWithLabelsCheckBox, "withlabels-check");
get(mpLinearRadioButton, "linear-radio");
get(mpLogarithmicRadioButton, "logarithmic-radio");
get(mpPowerRadioButton, "power-radio");
get(mpConfidenceLevelField, "confidencelevel-spin");
get(mpCalcResidualsCheckBox, "calcresiduals-check");
get(mpNoInterceptCheckBox, "nointercept-check");
get(mpErrorMessage, "error-message");
mpWithLabelsCheckBox->SetToggleHdl(LINK(this, ScRegressionDialog, CheckBoxHdl));
mpConfidenceLevelField->SetModifyHdl(LINK(this, ScRegressionDialog, NumericFieldHdl));
mxWithLabelsCheckBox->connect_toggled(LINK(this, ScRegressionDialog, CheckBoxHdl));
mxConfidenceLevelField->connect_value_changed(LINK(this, ScRegressionDialog, NumericFieldHdl));
}
ScRegressionDialog::~ScRegressionDialog()
{
disposeOnce();
}
bool ScRegressionDialog::Close()
void ScRegressionDialog::Close()
{
return DoClose(ScRegressionDialogWrapper::GetChildWindowId());
}
void ScRegressionDialog::dispose()
{
mpWithLabelsCheckBox.disposeAndClear();
mpLinearRadioButton.disposeAndClear();
mpLogarithmicRadioButton.disposeAndClear();
mpPowerRadioButton.disposeAndClear();
mpConfidenceLevelField.disposeAndClear();
mpCalcResidualsCheckBox.disposeAndClear();
mpNoInterceptCheckBox.disposeAndClear();
mpErrorMessage.disposeAndClear();
ScStatisticsTwoVariableDialog::dispose();
DoClose(ScRegressionDialogWrapper::GetChildWindowId());
}
const char* ScRegressionDialog::GetUndoNameId()
......@@ -188,7 +174,7 @@ ScRange ScRegressionDialog::ApplyOutput(ScDocShell* pDocShell)
formula::FormulaGrammar::mergeToGrammar( formula::FormulaGrammar::GRAM_ENGLISH, mAddressDetails.eConv));
FormulaTemplate aTemplate(mDocument);
aTemplate.autoReplaceUses3D(mbUse3DAddresses);
mbCalcIntercept = !mpNoInterceptCheckBox->IsChecked();
mbCalcIntercept = !mxNoInterceptCheckBox->get_active();
// max col of our output should account for
// 1. constant term column,
......@@ -211,7 +197,7 @@ ScRange ScRegressionDialog::ApplyOutput(ScDocShell* pDocShell)
WriteRegressionStatistics(aOutput, aTemplate);
WriteRegressionANOVAResults(aOutput, aTemplate);
WriteRegressionEstimatesWithCI(aOutput, aTemplate, bTakeLogX);
if (mpCalcResidualsCheckBox->IsChecked())
if (mxCalcResidualsCheckBox->get_active())
WritePredictionsWithResiduals(aOutput, aTemplate, nRegressionIndex);
ScAddress aMaxAddress(aOutput.mMaximumAddress);
......@@ -223,27 +209,27 @@ bool ScRegressionDialog::InputRangesValid()
{
if (!mVariable1Range.IsValid())
{
mpErrorMessage->SetText(ScResId(STR_MESSAGE_XINVALID_RANGE));
mxErrorMessage->set_label(ScResId(STR_MESSAGE_XINVALID_RANGE));
return false;
}
if (!mVariable2Range.IsValid())
{
mpErrorMessage->SetText(ScResId(STR_MESSAGE_YINVALID_RANGE));
mxErrorMessage->set_label(ScResId(STR_MESSAGE_YINVALID_RANGE));
return false;
}
if (!mOutputAddress.IsValid())
{
mpErrorMessage->SetText(ScResId(STR_MESSAGE_INVALID_OUTPUT_ADDR));
mxErrorMessage->set_label(ScResId(STR_MESSAGE_INVALID_OUTPUT_ADDR));
return false;
}
{
double fConfidenceLevel = mpConfidenceLevelField->GetValue();
double fConfidenceLevel = mxConfidenceLevelField->get_value();
if ( fConfidenceLevel <= 0.0 || fConfidenceLevel >= 100.0 )
{
mpErrorMessage->SetText(ScResId(STR_MESSAGE_INVALID_CONFIDENCE_LEVEL));
mxErrorMessage->set_label(ScResId(STR_MESSAGE_INVALID_CONFIDENCE_LEVEL));
return false;
}
}
......@@ -262,13 +248,13 @@ bool ScRegressionDialog::InputRangesValid()
if (!bYHasSingleDim)
{
if (bGroupedByColumn)
mpErrorMessage->SetText(ScResId(STR_MESSAGE_YVARIABLE_MULTI_COLUMN));
mxErrorMessage->set_label(ScResId(STR_MESSAGE_YVARIABLE_MULTI_COLUMN));
else
mpErrorMessage->SetText(ScResId(STR_MESSAGE_YVARIABLE_MULTI_ROW));
mxErrorMessage->set_label(ScResId(STR_MESSAGE_YVARIABLE_MULTI_ROW));
return false;
}
bool bWithLabels = mpWithLabelsCheckBox->IsChecked();
bool bWithLabels = mxWithLabelsCheckBox->get_active();
size_t nYObs = lcl_GetNumRowsColsInRange(mVariable2Range, bGroupedByColumn);
size_t nNumXVars = lcl_GetNumRowsColsInRange(mVariable1Range, !bGroupedByColumn);
......@@ -277,9 +263,9 @@ bool ScRegressionDialog::InputRangesValid()
if (lcl_GetNumRowsColsInRange(mVariable1Range, bGroupedByColumn) != nYObs)
{
if (mbUnivariate)
mpErrorMessage->SetText(ScResId(STR_MESSAGE_UNIVARIATE_NUMOBS_MISMATCH));
mxErrorMessage->set_label(ScResId(STR_MESSAGE_UNIVARIATE_NUMOBS_MISMATCH));
else
mpErrorMessage->SetText(ScResId(STR_MESSAGE_MULTIVARIATE_NUMOBS_MISMATCH));
mxErrorMessage->set_label(ScResId(STR_MESSAGE_MULTIVARIATE_NUMOBS_MISMATCH));
return false;
}
......@@ -289,23 +275,23 @@ bool ScRegressionDialog::InputRangesValid()
mbUse3DAddresses = mVariable1Range.aStart.Tab() != mOutputAddress.Tab() ||
mVariable2Range.aStart.Tab() != mOutputAddress.Tab();
mpErrorMessage->SetText("");
mxErrorMessage->set_label("");
return true;
}
size_t ScRegressionDialog::GetRegressionTypeIndex()
{
if (mpLinearRadioButton->IsChecked())
if (mxLinearRadioButton->get_active())
return 0;
if (mpLogarithmicRadioButton->IsChecked())
if (mxLogarithmicRadioButton->get_active())
return 1;
return 2;
}
ScRange ScRegressionDialog::GetDataRange(const ScRange& rRange)
{
if (!mpWithLabelsCheckBox->IsChecked())
if (!mxWithLabelsCheckBox->get_active())
return rRange;
ScRange aDataRange(rRange);
......@@ -322,7 +308,7 @@ OUString ScRegressionDialog::GetVariableNameFormula(bool bXVar, size_t nIndex, b
if (bXVar && nIndex == 0)
return "=\"" + ScResId(STR_LABEL_INTERCEPT) + "\"";
if (mpWithLabelsCheckBox->IsChecked())
if (mxWithLabelsCheckBox->get_active())
{
ScAddress aAddr(bXVar ? mVariable1Range.aStart : mVariable2Range.aStart);
if (mGroupedBy == BY_COLUMN)
......@@ -512,7 +498,7 @@ void ScRegressionDialog::WriteRegressionANOVAResults(AddressWalkerWriter& rOutpu
rOutput.newLine();
rOutput.writeString(ScResId(STR_LABEL_CONFIDENCE_LEVEL));
rOutput.nextColumn();
rOutput.writeValue(mpConfidenceLevelField->GetValue() / 100.0);
rOutput.writeValue(mxConfidenceLevelField->get_value() / 100.0);
rTemplate.autoReplaceAddress("%CONFIDENCE_LEVEL_ADDR%", rOutput.current());
rOutput.newLine();
}
......@@ -687,12 +673,12 @@ void ScRegressionDialog::WriteTable(const std::function<CellValueGetter>& rCellG
}
}
IMPL_LINK_NOARG(ScRegressionDialog, CheckBoxHdl, CheckBox&, void)
IMPL_LINK_NOARG(ScRegressionDialog, CheckBoxHdl, weld::ToggleButton&, void)
{
ValidateDialogInput();
}
IMPL_LINK_NOARG(ScRegressionDialog, NumericFieldHdl, Edit&, void)
IMPL_LINK_NOARG(ScRegressionDialog, NumericFieldHdl, weld::SpinButton&, void)
{
ValidateDialogInput();
}
......
......@@ -13,34 +13,33 @@
#include "StatisticsTwoVariableDialog.hxx"
class ScRegressionDialog : public ScStatisticsTwoVariableDialog
class ScRegressionDialog : public ScStatisticsTwoVariableDialogController
{
VclPtr<CheckBox> mpWithLabelsCheckBox;
VclPtr<RadioButton> mpLinearRadioButton;
VclPtr<RadioButton> mpLogarithmicRadioButton;
VclPtr<RadioButton> mpPowerRadioButton;
VclPtr<FixedText> mpErrorMessage;
VclPtr<NumericField> mpConfidenceLevelField;
VclPtr<CheckBox> mpCalcResidualsCheckBox;
VclPtr<CheckBox> mpNoInterceptCheckBox;
bool mbUnivariate;
size_t mnNumIndependentVars;
size_t mnNumObservations;
bool mbUse3DAddresses;
bool mbCalcIntercept;
std::unique_ptr<weld::CheckButton> mxWithLabelsCheckBox;
std::unique_ptr<weld::RadioButton> mxLinearRadioButton;
std::unique_ptr<weld::RadioButton> mxLogarithmicRadioButton;
std::unique_ptr<weld::RadioButton> mxPowerRadioButton;
std::unique_ptr<weld::Label> mxErrorMessage;
std::unique_ptr<weld::SpinButton> mxConfidenceLevelField;
std::unique_ptr<weld::CheckButton> mxCalcResidualsCheckBox;
std::unique_ptr<weld::CheckButton> mxNoInterceptCheckBox;
public:
ScRegressionDialog(
SfxBindings* pB, SfxChildWindow* pCW,
vcl::Window* pParent, ScViewData* pViewData );
weld::Window* pParent, ScViewData* pViewData );
virtual ~ScRegressionDialog() override;
virtual bool Close() override;
virtual void Close() override;
protected:
void dispose() override;
virtual const char* GetUndoNameId() override;
virtual ScRange ApplyOutput(ScDocShell* pDocShell) override;
virtual bool InputRangesValid() override;
......@@ -75,8 +74,8 @@ private:
size_t nColsInTable, AddressWalkerWriter& rOutput,
const std::function<CellWriter>& rFunc);
DECL_LINK( CheckBoxHdl, CheckBox&, void );
DECL_LINK( NumericFieldHdl, Edit&, void );
DECL_LINK( CheckBoxHdl, weld::ToggleButton&, void );
DECL_LINK( NumericFieldHdl, weld::SpinButton&, void );
};
......
......@@ -89,6 +89,79 @@ private:
DECL_LINK( RefInputModifyHandler, Edit&, void );
};
class ScStatisticsTwoVariableDialogController : public ScAnyRefDlgController
{
public:
enum GroupedBy {
BY_COLUMN,
BY_ROW
};
ScStatisticsTwoVariableDialogController(
SfxBindings* pB, SfxChildWindow* pCW,
weld::Window* pParent, ScViewData* pViewData,
const OUString& rUIXMLDescription, const OString& rID);
virtual ~ScStatisticsTwoVariableDialogController() override;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) override;
virtual void SetActive() override;
protected:
void CalculateInputAndWriteToOutput();
virtual ScRange ApplyOutput(ScDocShell* pDocShell) = 0;
virtual const char* GetUndoNameId() = 0;
virtual bool InputRangesValid();
void ValidateDialogInput();
// Widgets
std::unique_ptr<weld::Label> mxVariable1RangeLabel;
std::unique_ptr<formula::WeldRefEdit> mxVariable1RangeEdit;
std::unique_ptr<formula::WeldRefButton> mxVariable1RangeButton;
std::unique_ptr<weld::Label> mxVariable2RangeLabel;
std::unique_ptr<formula::WeldRefEdit> mxVariable2RangeEdit;
std::unique_ptr<formula::WeldRefButton> mxVariable2RangeButton;
std::unique_ptr<weld::Label> mxOutputRangeLabel;
std::unique_ptr<formula::WeldRefEdit> mxOutputRangeEdit;
std::unique_ptr<formula::WeldRefButton> mxOutputRangeButton;
// Data
ScViewData* const mViewData;
ScDocument* const mDocument;
ScRange mVariable1Range;
ScRange mVariable2Range;
ScAddress::Details const mAddressDetails;
ScAddress mOutputAddress;
GroupedBy mGroupedBy;
private:
// Widgets
std::unique_ptr<weld::Button> mxButtonOk;
std::unique_ptr<weld::RadioButton> mxGroupByColumnsRadio;
std::unique_ptr<weld::RadioButton> mxGroupByRowsRadio;
formula::WeldRefEdit* mpActiveEdit;
ScAddress const mCurrentAddress;
bool mDialogLostFocus;
void Init();
void GetRangeFromSelection();
DECL_LINK( GroupByChanged, weld::ToggleButton&, void );
DECL_LINK( OkClicked, weld::Button&, void );
DECL_LINK( GetEditFocusHandler, formula::WeldRefEdit&, void );
DECL_LINK( GetButtonFocusHandler, formula::WeldRefButton&, void );
DECL_LINK( LoseEditFocusHandler, formula::WeldRefEdit&, void );
DECL_LINK( LoseButtonFocusHandler, formula::WeldRefButton&, void );
DECL_LINK( RefInputModifyHandler, formula::WeldRefEdit&, void );
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -107,7 +107,7 @@ private:
};
class ScRegressionDialogWrapper :
public ChildWindowWrapper<SID_REGRESSION_DIALOG>
public ChildControllerWrapper<SID_REGRESSION_DIALOG>
{
private:
ScRegressionDialogWrapper() = delete;
......
......@@ -330,12 +330,6 @@ VclPtr<SfxModelessDialog> ScTabViewShell::CreateRefDialog(
}
break;
case SID_REGRESSION_DIALOG:
{
pResult = VclPtr<ScRegressionDialog>::Create( pB, pCW, pParent, &GetViewData() );
}
break;
case SID_TTEST_DIALOG:
{
pResult = VclPtr<ScTTestDialog>::Create( pB, pCW, pParent, &GetViewData() );
......@@ -532,6 +526,11 @@ std::unique_ptr<SfxModelessDialogController> ScTabViewShell::CreateRefDialogCont
xResult.reset(new ScMovingAverageDialog(pB, pCW, pParent, &GetViewData()));
}
break;
case SID_REGRESSION_DIALOG:
{
xResult.reset(new ScRegressionDialog(pB, pCW, pParent, &GetViewData()));
}
break;
}
if (xResult)
......
......@@ -2,7 +2,6 @@
<!-- Generated with glade 3.22.1 -->
<interface domain="sc">
<requires lib="gtk+" version="3.18"/>
<requires lib="LibreOffice" version="1.0"/>
<object class="GtkAdjustment" id="confidencelevel-adjustment">
<property name="upper">1</property>
<property name="value">0.94999999999999996</property>
......@@ -13,6 +12,8 @@
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="regressiondialog|RegressionDialog">Regression</property>
<property name="default_width">0</property>
<property name="default_height">0</property>
<property name="type_hint">dialog</property>
<child>
<placeholder/>
......@@ -116,11 +117,12 @@
</packing>
</child>
<child>
<object class="foruilo-RefEdit" id="variable1-range-edit">
<object class="GtkEntry" id="variable1-range-edit">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="activates_default">True</property>
<property name="width_chars">30</property>
</object>
<packing>
......@@ -129,7 +131,7 @@
</packing>
</child>
<child>
<object class="foruilo-RefButton" id="variable1-range-button">
<object class="GtkButton" id="variable1-range-button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
......@@ -154,11 +156,12 @@
</packing>
</child>
<child>
<object class="foruilo-RefEdit" id="variable2-range-edit">
<object class="GtkEntry" id="variable2-range-edit">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="activates_default">True</property>
<property name="width_chars">30</property>
</object>
<packing>
......@@ -167,7 +170,7 @@
</packing>
</child>
<child>
<object class="foruilo-RefButton" id="variable2-range-button">
<object class="GtkButton" id="variable2-range-button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
......@@ -189,6 +192,7 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">3</property>
</packing>
</child>
<child>
......@@ -206,11 +210,12 @@
</packing>
</child>
<child>
<object class="foruilo-RefEdit" id="output-range-edit">
<object class="GtkEntry" id="output-range-edit">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="activates_default">True</property>
<property name="width_chars">30</property>
</object>
<packing>
......@@ -219,7 +224,7 @@
</packing>
</child>
<child>
<object class="foruilo-RefButton" id="output-range-button">
<object class="GtkButton" id="output-range-button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
......@@ -229,12 +234,6 @@
<property name="top_attach">3</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
......@@ -472,6 +471,7 @@
<property name="can_focus">True</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="activates_default">True</property>
<property name="text" context="regressiondialog|confidencelevel-spin">0,95</property>
<property name="adjustment">confidencelevel-adjustment</property>
<property name="digits">2</property>
......@@ -534,6 +534,7 @@
</child>
<action-widgets>
<action-widget response="-5">ok</action-widget>
<action-widget response="-6">cancel</action-widget>
<action-widget response="-11">help</action-widget>
</action-widgets>
</object>
......
sc/uiconfig/scalc/ui/advancedfilterdialog.ui://foruilo-RefEdit[@id='edfilterarea'] no-labelled-by
sc/uiconfig/scalc/ui/advancedfilterdialog.ui://GtkLabel[@id='dbarealabel'] orphan-label
sc/uiconfig/scalc/ui/advancedfilterdialog.ui://GtkLabel[@id='dbarea'] orphan-label
sc/uiconfig/scalc/ui/aggregatefunctionentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
sc/uiconfig/scalc/ui/analysisofvariancedialog.ui://GtkButton[@id='input-range-button'] button-no-label
sc/uiconfig/scalc/ui/analysisofvariancedialog.ui://GtkButton[@id='output-range-button'] button-no-label
sc/uiconfig/scalc/ui/cellprotectionpage.ui://GtkLabel[@id='label1'] orphan-label
......@@ -124,12 +125,6 @@ sc/uiconfig/scalc/ui/mergecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkGrid[@id=
sc/uiconfig/scalc/ui/mergecolumnentry.ui://GtkEntry[@id='ed_separator'] no-labelled-by
sc/uiconfig/scalc/ui/mergecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkGrid[@id='grid_details']/GtkLabel orphan-label
sc/uiconfig/scalc/ui/mergecolumnentry.ui://GtkEntry[@id='ed_columns'] no-labelled-by
sc/uiconfig/scalc/ui/movingaveragedialog.ui://GtkButton[@id='input-range-button'] button-no-label
sc/uiconfig/scalc/ui/movingaveragedialog.ui://GtkButton[@id='output-range-button'] button-no-label
sc/uiconfig/scalc/ui/texttransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
sc/uiconfig/scalc/ui/sorttransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
sc/uiconfig/scalc/ui/aggregatefunctionentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
sc/uiconfig/scalc/ui/numbertransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
sc/uiconfig/scalc/ui/movecopysheet.ui://GtkEntry[@id='newName'] no-labelled-by
sc/uiconfig/scalc/ui/movecopysheet.ui://GtkLabel[@id='newNameWarn'] orphan-label
sc/uiconfig/scalc/ui/movecopysheet.ui://GtkLabel[@id='warnunused'] orphan-label
......@@ -137,8 +132,11 @@ sc/uiconfig/scalc/ui/movecopysheet.ui://GtkLabel[@id='warnempty'] orphan-label
sc/uiconfig/scalc/ui/movecopysheet.ui://GtkLabel[@id='warninvalid'] orphan-label
sc/uiconfig/scalc/ui/movingaveragedialog.ui://GtkLabel[@id='interval-label'] orphan-label
sc/uiconfig/scalc/ui/movingaveragedialog.ui://GtkSpinButton[@id='interval-spin'] no-labelled-by
sc/uiconfig/scalc/ui/movingaveragedialog.ui://GtkButton[@id='input-range-button'] button-no-label
sc/uiconfig/scalc/ui/movingaveragedialog.ui://GtkButton[@id='output-range-button'] button-no-label
sc/uiconfig/scalc/ui/nosolutiondialog.ui://GtkLabel[@id='label1'] orphan-label
sc/uiconfig/scalc/ui/nosolutiondialog.ui://GtkLabel[@id='error'] orphan-label
sc/uiconfig/scalc/ui/numbertransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
sc/uiconfig/scalc/ui/passfragment.ui://GtkButton[@id='button'] button-no-label
sc/uiconfig/scalc/ui/pivotfielddialog.ui://GtkLabel[@id='label2'] orphan-label
sc/uiconfig/scalc/ui/pivotfielddialog.ui://GtkLabel[@id='name'] orphan-label
......@@ -172,10 +170,14 @@ sc/uiconfig/scalc/ui/protectsheetdlg.ui://GtkLabel[@id='insert-rows'] orphan-lab
sc/uiconfig/scalc/ui/protectsheetdlg.ui://GtkLabel[@id='delete-columns'] orphan-label
sc/uiconfig/scalc/ui/protectsheetdlg.ui://GtkLabel[@id='delete-rows'] orphan-label
sc/uiconfig/scalc/ui/regressiondialog.ui://GtkLabel[@id='error-message'] orphan-label
sc/uiconfig/scalc/ui/regressiondialog.ui://GtkButton[@id='variable1-range-button'] button-no-label
sc/uiconfig/scalc/ui/regressiondialog.ui://GtkButton[@id='variable2-range-button'] button-no-label
sc/uiconfig/scalc/ui/regressiondialog.ui://GtkButton[@id='output-range-button'] button-no-label
sc/uiconfig/scalc/ui/retypepassdialog.ui://GtkLabel[@id='descLabel'] orphan-label
sc/uiconfig/scalc/ui/retypepassdialog.ui://GtkLabel[@id='docStatusLabel'] orphan-label
sc/uiconfig/scalc/ui/samplingdialog.ui://GtkButton[@id='input-range-button'] button-no-label
sc/uiconfig/scalc/ui/samplingdialog.ui://GtkButton[@id='output-range-button'] button-no-label
sc/uiconfig/scalc/ui/sorttransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
sc/uiconfig/scalc/ui/standardfilterdialog.ui://GtkComboBoxText[@id='connect1'] missing-label-for
sc/uiconfig/scalc/ui/standardfilterdialog.ui://GtkComboBoxText[@id='connect2'] missing-label-for
sc/uiconfig/scalc/ui/standardfilterdialog.ui://GtkLabel[@id='label2'] orphan-label
......@@ -239,6 +241,7 @@ sc/uiconfig/scalc/ui/statisticsinfopage.ui://GtkLabel[@id='nosheets'] orphan-lab
sc/uiconfig/scalc/ui/statisticsinfopage.ui://GtkLabel[@id='noformula'] orphan-label
sc/uiconfig/scalc/ui/textimportcsv.ui://sclo-ScCsvTableBox[@id='scrolledwindowcolumntype'] no-labelled-by
sc/uiconfig/scalc/ui/textimportcsv.ui://GtkLabel[@id='textalttitle'] orphan-label
sc/uiconfig/scalc/ui/texttransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
sc/uiconfig/scalc/ui/validationcriteriapage.ui://foruilo-RefEdit[@id='min'] no-labelled-by
sc/uiconfig/scalc/ui/validationcriteriapage.ui://sclo-ScRefButtonEx[@id='validref'] no-labelled-by
sc/uiconfig/scalc/ui/validationcriteriapage.ui://GtkTextView[@id='minlist:border'] no-labelled-by
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment