From d7091397e5ea89f2908daa793adfc9c7fe6f0842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Wed, 24 May 2017 11:53:07 +0200 Subject: [PATCH] [escher] Rule of 5 in view Change-Id: Iba04e9046845b544e184530562e34f831fce96f6 --- apps/apps_container.cpp | 8 +++---- apps/apps_window.cpp | 2 +- apps/exam_pop_up_controller.cpp | 18 +++++++-------- apps/home/controller.cpp | 2 +- apps/math_toolbox.cpp | 2 +- apps/on_boarding/language_controller.cpp | 6 +++-- apps/on_boarding/language_controller.h | 2 +- apps/on_boarding/update_controller.cpp | 12 +++++----- apps/probability/calculation_controller.cpp | 17 ++++++++------ apps/settings/main_controller.cpp | 11 +++++----- apps/settings/sub_controller.cpp | 11 ++++++---- .../function_curve_parameter_controller.cpp | 6 ++--- apps/shared/function_expression_cell.cpp | 2 +- apps/shared/function_graph_controller.cpp | 2 +- .../initialisation_parameter_controller.cpp | 4 ++-- .../interactive_curve_view_controller.cpp | 2 +- apps/shared/list_parameter_controller.cpp | 10 ++++----- apps/shared/new_function_cell.cpp | 2 +- apps/shared/store_parameter_controller.cpp | 10 ++++----- apps/shared/values_controller.cpp | 6 ++--- .../values_function_parameter_controller.cpp | 6 ++--- apps/shared/values_parameter_controller.cpp | 10 ++++----- apps/shared/zoom_parameter_controller.cpp | 22 ++++++++++++------- apps/statistics/box_controller.cpp | 4 ++-- apps/statistics/histogram_controller.cpp | 8 +++---- apps/variable_box_controller.cpp | 4 ++-- apps/variable_box_leaf_cell.cpp | 4 ++-- escher/include/escher/editable_text_cell.h | 4 +++- escher/include/escher/key_view.h | 3 ++- escher/include/escher/text_field.h | 4 +++- escher/include/escher/view.h | 5 ++++- .../src/alternate_empty_view_controller.cpp | 2 +- escher/src/button_row_controller.cpp | 4 ++-- escher/src/editable_text_cell.cpp | 8 +++++++ escher/src/even_odd_buffer_text_cell.cpp | 2 +- escher/src/even_odd_expression_cell.cpp | 2 +- escher/src/expression_table_cell.cpp | 2 +- .../expression_table_cell_with_pointer.cpp | 2 +- escher/src/input_view_controller.cpp | 2 +- escher/src/key_view.cpp | 5 +++++ escher/src/message_table_cell.cpp | 2 +- escher/src/message_table_cell_with_buffer.cpp | 2 +- .../message_table_cell_with_editable_text.cpp | 2 +- .../src/message_table_cell_with_message.cpp | 2 +- escher/src/stack_view_controller.cpp | 2 +- escher/src/text_field.cpp | 16 ++++++++++---- escher/src/warning_controller.cpp | 2 +- 47 files changed, 155 insertions(+), 111 deletions(-) diff --git a/apps/apps_container.cpp b/apps/apps_container.cpp index 6d1a3b959..d8d9292b9 100644 --- a/apps/apps_container.cpp +++ b/apps/apps_container.cpp @@ -14,17 +14,17 @@ using namespace Shared; AppsContainer::AppsContainer() : Container(), - m_window(AppsWindow()), - m_emptyBatteryWindow(EmptyBatteryWindow()), + m_window(), + m_emptyBatteryWindow(), m_globalContext(), m_variableBoxController(&m_globalContext), - m_examPopUpController(ExamPopUpController()), + m_examPopUpController(), m_updateController(), m_ledTimer(LedTimer()), m_batteryTimer(BatteryTimer(this)), m_USBTimer(USBTimer(this)), m_suspendTimer(SuspendTimer(this)), - m_backlightDimmingTimer(BacklightDimmingTimer()), + m_backlightDimmingTimer(), m_hardwareTestSnapshot(), m_onBoardingSnapshot(), m_homeSnapshot(), diff --git a/apps/apps_window.cpp b/apps/apps_window.cpp index 7c8f2fd92..c70854773 100644 --- a/apps/apps_window.cpp +++ b/apps/apps_window.cpp @@ -5,7 +5,7 @@ extern "C" { AppsWindow::AppsWindow() : Window(), - m_titleBarView(TitleBarView()), + m_titleBarView(), m_hideTitleBarView(false) { } diff --git a/apps/exam_pop_up_controller.cpp b/apps/exam_pop_up_controller.cpp index 6889faed1..1e80b1462 100644 --- a/apps/exam_pop_up_controller.cpp +++ b/apps/exam_pop_up_controller.cpp @@ -6,7 +6,7 @@ ExamPopUpController::ExamPopUpController() : ViewController(nullptr), - m_contentView(ContentView(this)), + m_contentView(this), m_isActivatingExamMode(false) { } @@ -43,12 +43,12 @@ bool ExamPopUpController::isActivatingExamMode() { } ExamPopUpController::ContentView::ContentView(Responder * parentResponder) : - m_cancelButton(Button(parentResponder, I18n::Message::Cancel, Invocation([](void * context, void * sender) { + m_cancelButton(parentResponder, I18n::Message::Cancel, Invocation([](void * context, void * sender) { ExamPopUpController * controller = (ExamPopUpController *)context; Container * container = (Container *)controller->app()->container(); container->activeApp()->dismissModalViewController(); - }, parentResponder), KDText::FontSize::Small)), - m_okButton(Button(parentResponder, I18n::Message::Ok, Invocation([](void * context, void * sender) { + }, parentResponder), KDText::FontSize::Small), + m_okButton(parentResponder, I18n::Message::Ok, Invocation([](void * context, void * sender) { ExamPopUpController * controller = (ExamPopUpController *)context; GlobalPreferences::ExamMode nextExamMode = controller->isActivatingExamMode() ? GlobalPreferences::ExamMode::Activate : GlobalPreferences::ExamMode::Desactivate; GlobalPreferences::sharedGlobalPreferences()->setExamMode(nextExamMode); @@ -60,11 +60,11 @@ ExamPopUpController::ContentView::ContentView(Responder * parentResponder) : } container->refreshPreferences(); container->activeApp()->dismissModalViewController(); - }, parentResponder), KDText::FontSize::Small)), - m_warningTextView(MessageTextView(KDText::FontSize::Small, I18n::Message::Warning, 0.5, 0.5, KDColorWhite, KDColorBlack)), - m_messageTextView1(MessageTextView(KDText::FontSize::Small, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack)), - m_messageTextView2(MessageTextView(KDText::FontSize::Small, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack)), - m_messageTextView3(MessageTextView(KDText::FontSize::Small, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack)) + }, parentResponder), KDText::FontSize::Small), + m_warningTextView(KDText::FontSize::Small, I18n::Message::Warning, 0.5, 0.5, KDColorWhite, KDColorBlack), + m_messageTextView1(KDText::FontSize::Small, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack), + m_messageTextView2(KDText::FontSize::Small, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack), + m_messageTextView3(KDText::FontSize::Small, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack) { } diff --git a/apps/home/controller.cpp b/apps/home/controller.cpp index 07e07b6ee..9e7eec457 100644 --- a/apps/home/controller.cpp +++ b/apps/home/controller.cpp @@ -41,7 +41,7 @@ void Controller::ContentView::layoutSubviews() { Controller::Controller(Responder * parentResponder, ::AppsContainer * container, SelectableTableViewDataSource * selectionDataSource) : ViewController(parentResponder), m_container(container), - m_view(ContentView(this, selectionDataSource)), + m_view(this, selectionDataSource), m_selectionDataSource(selectionDataSource) { } diff --git a/apps/math_toolbox.cpp b/apps/math_toolbox.cpp index 92a11e331..e5af6a450 100644 --- a/apps/math_toolbox.cpp +++ b/apps/math_toolbox.cpp @@ -134,7 +134,7 @@ void MathToolbox::ListController::setFirstSelectedRow(int firstSelectedRow) { MathToolbox::MathToolbox() : Toolbox(nullptr, &m_listController), - m_selectableTableView(SelectableTableView(&m_listController, this, 0, 1, 0, 0, 0, 0, this, nullptr, false)), + m_selectableTableView(&m_listController, this, 0, 1, 0, 0, 0, 0, this, nullptr, false), m_listController(this, &m_selectableTableView), m_nodeModel(nullptr) { diff --git a/apps/on_boarding/language_controller.cpp b/apps/on_boarding/language_controller.cpp index 8dc413c87..c4a505858 100644 --- a/apps/on_boarding/language_controller.cpp +++ b/apps/on_boarding/language_controller.cpp @@ -8,9 +8,11 @@ LanguageController::LanguageController(Responder * parentResponder, LogoControll ViewController(parentResponder), m_logoController(logoController), m_updateController(updateController), - m_cells{MessageTableCell(I18n::Message::Default, KDText::FontSize::Large), MessageTableCell(I18n::Message::Default, KDText::FontSize::Large), MessageTableCell(I18n::Message::Default, KDText::FontSize::Large)}, - m_selectableTableView(SelectableTableView(this, this, 0, 1, (Ion::Display::Height - I18n::NumberOfLanguages*Metric::ParameterCellHeight)/2, Metric::CommonRightMargin, 0, Metric::CommonLeftMargin, this)) + m_selectableTableView(this, this, 0, 1, (Ion::Display::Height - I18n::NumberOfLanguages*Metric::ParameterCellHeight)/2, Metric::CommonRightMargin, 0, Metric::CommonLeftMargin, this) { + for (int i = 0; i < I18n::NumberOfLanguages; i++) { + m_cells[i].setMessageFontSize(KDText::FontSize::Large); + } } View * LanguageController::view() { diff --git a/apps/on_boarding/language_controller.h b/apps/on_boarding/language_controller.h index cf98768e9..c00dafd5f 100644 --- a/apps/on_boarding/language_controller.h +++ b/apps/on_boarding/language_controller.h @@ -25,8 +25,8 @@ public: private: LogoController * m_logoController; UpdateController * m_updateController; - MessageTableCell m_cells[I18n::NumberOfLanguages]; SelectableTableView m_selectableTableView; + MessageTableCell m_cells[I18n::NumberOfLanguages]; }; } diff --git a/apps/on_boarding/update_controller.cpp b/apps/on_boarding/update_controller.cpp index 04ec7881c..09907418a 100644 --- a/apps/on_boarding/update_controller.cpp +++ b/apps/on_boarding/update_controller.cpp @@ -25,12 +25,12 @@ bool UpdateController::handleEvent(Ion::Events::Event event) { } UpdateController::ContentView::ContentView() : - m_titleTextView(MessageTextView(KDText::FontSize::Large, I18n::Message::UpdateAvailable, 0.5f, 0.5f)), - m_messageTextView1(MessageTextView(KDText::FontSize::Small, I18n::Message::UpdateMessage1, 0.5f, 0.5f)), - m_messageTextView2(MessageTextView(KDText::FontSize::Small, I18n::Message::UpdateMessage2, 0.5f, 0.5f)), - m_messageTextView3(MessageTextView(KDText::FontSize::Small, I18n::Message::UpdateMessage3, 0.5f, 0.5f)), - m_messageTextView4(MessageTextView(KDText::FontSize::Small, I18n::Message::UpdateMessage4, 0.5f, 0.5f, Palette::YellowDark)), - m_skipView(MessageTextView(KDText::FontSize::Small, I18n::Message::Skip, 1.0f, 0.5)), + m_titleTextView(KDText::FontSize::Large, I18n::Message::UpdateAvailable, 0.5f, 0.5f), + m_messageTextView1(KDText::FontSize::Small, I18n::Message::UpdateMessage1, 0.5f, 0.5f), + m_messageTextView2(KDText::FontSize::Small, I18n::Message::UpdateMessage2, 0.5f, 0.5f), + m_messageTextView3(KDText::FontSize::Small, I18n::Message::UpdateMessage3, 0.5f, 0.5f), + m_messageTextView4(KDText::FontSize::Small, I18n::Message::UpdateMessage4, 0.5f, 0.5f, Palette::YellowDark), + m_skipView(KDText::FontSize::Small, I18n::Message::Skip, 1.0f, 0.5), m_okView() { } diff --git a/apps/probability/calculation_controller.cpp b/apps/probability/calculation_controller.cpp index 4c3f98aad..93027a605 100644 --- a/apps/probability/calculation_controller.cpp +++ b/apps/probability/calculation_controller.cpp @@ -13,14 +13,17 @@ using namespace Shared; namespace Probability { CalculationController::ContentView::ContentView(Responder * parentResponder, CalculationController * calculationController, Calculation * calculation, Law * law) : - m_titleView(MessageTextView(KDText::FontSize::Small, I18n::Message::ComputeProbability, 0.5f, 0.5f, Palette::GreyDark, Palette::WallScreen)), - m_lawCurveView(LawCurveView(law, calculation)), - m_imageTableView(ImageTableView(parentResponder, calculation, calculationController)), - m_calculationCell{EditableTextCell(parentResponder, calculationController, m_draftTextBuffer), - EditableTextCell(parentResponder, calculationController, m_draftTextBuffer), - EditableTextCell(parentResponder, calculationController, m_draftTextBuffer)}, + m_titleView(KDText::FontSize::Small, I18n::Message::ComputeProbability, 0.5f, 0.5f, Palette::GreyDark, Palette::WallScreen), + m_lawCurveView(law, calculation), + m_imageTableView(parentResponder, calculation, calculationController), + m_draftTextBuffer{}, m_calculation(calculation) { + for (int i = 0; i < k_maxNumberOfEditableFields; i++) { + m_calculationCell[i].setParentResponder(parentResponder); + m_calculationCell[i].setTextFieldDelegate(calculationController); + m_calculationCell[i].setTextFieldDraftTextBuffer(m_draftTextBuffer); + } } int CalculationController::ContentView::numberOfSubviews() const { @@ -127,7 +130,7 @@ EditableTextCell * CalculationController::ContentView::calculationCellAtIndex(in CalculationController::CalculationController(Responder * parentResponder, Law * law, Calculation * calculation) : ViewController(parentResponder), m_calculation(calculation), - m_contentView(ContentView(this, this, m_calculation, law)), + m_contentView(this, this, m_calculation, law), m_law(law), m_highlightedSubviewIndex(1) { diff --git a/apps/settings/main_controller.cpp b/apps/settings/main_controller.cpp index 474efffff..c4aa87679 100644 --- a/apps/settings/main_controller.cpp +++ b/apps/settings/main_controller.cpp @@ -23,16 +23,17 @@ const SettingsNode model = SettingsNode(I18n::Message::SettingsApp, menu, 7); MainController::MainController(Responder * parentResponder) : ViewController(parentResponder), - m_cells{MessageTableCellWithChevronAndMessage(KDText::FontSize::Large, KDText::FontSize::Small), MessageTableCellWithChevronAndMessage(KDText::FontSize::Large, KDText::FontSize::Small), - MessageTableCellWithChevronAndMessage(KDText::FontSize::Large, KDText::FontSize::Small), MessageTableCellWithChevronAndMessage(KDText::FontSize::Large, KDText::FontSize::Small), MessageTableCellWithChevronAndMessage(KDText::FontSize::Large, KDText::FontSize::Small)}, - m_complexFormatCell(MessageTableCellWithChevronAndExpression(I18n::Message::Default, KDText::FontSize::Large)), + m_complexFormatCell(I18n::Message::Default, KDText::FontSize::Large), m_updateCell(I18n::Message::Default, KDText::FontSize::Large), m_complexFormatLayout(nullptr), - m_selectableTableView(SelectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, - Metric::CommonBottomMargin, Metric::CommonLeftMargin, this)), + m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, + Metric::CommonBottomMargin, Metric::CommonLeftMargin, this), m_nodeModel((Node *)&model), m_subController(this) { + for (int i = 0; i < k_totalNumberOfCell-1; i++) { + m_cells[i].setMessageFontSize(KDText::FontSize::Large); + } } MainController::~MainController() { diff --git a/apps/settings/sub_controller.cpp b/apps/settings/sub_controller.cpp index 46326948f..90d5a1774 100644 --- a/apps/settings/sub_controller.cpp +++ b/apps/settings/sub_controller.cpp @@ -11,12 +11,15 @@ namespace Settings { SubController::SubController(Responder * parentResponder) : ViewController(parentResponder), - m_cells{MessageTableCellWithBuffer(I18n::Message::Default, KDText::FontSize::Large, KDText::FontSize::Small, Palette::GreyDark), MessageTableCellWithBuffer(I18n::Message::Default, KDText::FontSize::Large, KDText::FontSize::Small, Palette::GreyDark), - MessageTableCellWithBuffer(I18n::Message::Default, KDText::FontSize::Large, KDText::FontSize::Small, Palette::GreyDark)}, - m_selectableTableView(SelectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, - Metric::CommonBottomMargin, Metric::CommonLeftMargin, this)), + m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, + Metric::CommonBottomMargin, Metric::CommonLeftMargin, this), m_nodeModel(nullptr) { + for (int i = 0; i < k_totalNumberOfCell; i++) { + m_cells[i].setMessageFontSize(KDText::FontSize::Large); + m_cells[i].setAccessoryFontSize(KDText::FontSize::Small); + m_cells[i].setAccessoryTextColor(Palette::GreyDark); + } const char text[6] = {'a','+', Ion::Charset::IComplex, 'b', ' ', 0}; m_complexFormatLayout[0] = new StringLayout(text, 6); const char base[3] = {'r', Ion::Charset::Exponential, 0}; diff --git a/apps/shared/function_curve_parameter_controller.cpp b/apps/shared/function_curve_parameter_controller.cpp index c1db1a9bd..d88d5216e 100644 --- a/apps/shared/function_curve_parameter_controller.cpp +++ b/apps/shared/function_curve_parameter_controller.cpp @@ -5,9 +5,9 @@ namespace Shared { FunctionCurveParameterController::FunctionCurveParameterController(InteractiveCurveViewRange * graphRange, CurveViewCursor * cursor) : ViewController(nullptr), - m_goToCell(MessageTableCellWithChevron(I18n::Message::Goto)), - m_selectableTableView(SelectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, - Metric::CommonBottomMargin, Metric::CommonLeftMargin, this)), + m_goToCell(I18n::Message::Goto), + m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, + Metric::CommonBottomMargin, Metric::CommonLeftMargin, this), m_function(nullptr) { } diff --git a/apps/shared/function_expression_cell.cpp b/apps/shared/function_expression_cell.cpp index ff0f3392f..fee970761 100644 --- a/apps/shared/function_expression_cell.cpp +++ b/apps/shared/function_expression_cell.cpp @@ -7,7 +7,7 @@ namespace Shared { FunctionExpressionCell::FunctionExpressionCell() : EvenOddCell(), - m_expressionView(ExpressionView()) + m_expressionView() { } diff --git a/apps/shared/function_graph_controller.cpp b/apps/shared/function_graph_controller.cpp index 9a1e15ac0..2e21015f2 100644 --- a/apps/shared/function_graph_controller.cpp +++ b/apps/shared/function_graph_controller.cpp @@ -11,7 +11,7 @@ namespace Shared { FunctionGraphController::FunctionGraphController(Responder * parentResponder, ButtonRowController * header, InteractiveCurveViewRange * interactiveRange, CurveView * curveView, CurveViewCursor * cursor, uint32_t * modelVersion, uint32_t * rangeVersion) : InteractiveCurveViewController(parentResponder, header, interactiveRange, curveView, cursor, modelVersion, rangeVersion), m_indexFunctionSelectedByCursor(0), - m_initialisationParameterController(InitialisationParameterController(this, interactiveRange)) + m_initialisationParameterController(this, interactiveRange) { } diff --git a/apps/shared/initialisation_parameter_controller.cpp b/apps/shared/initialisation_parameter_controller.cpp index 6b6551053..b066dd849 100644 --- a/apps/shared/initialisation_parameter_controller.cpp +++ b/apps/shared/initialisation_parameter_controller.cpp @@ -6,8 +6,8 @@ namespace Shared { InitialisationParameterController::InitialisationParameterController(Responder * parentResponder, InteractiveCurveViewRange * graphRange) : ViewController(parentResponder), - m_selectableTableView(SelectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, - Metric::CommonBottomMargin, Metric::CommonLeftMargin, this)), + m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, + Metric::CommonBottomMargin, Metric::CommonLeftMargin, this), m_graphRange(graphRange) { } diff --git a/apps/shared/interactive_curve_view_controller.cpp b/apps/shared/interactive_curve_view_controller.cpp index 7e6a2a016..d2607a9dc 100644 --- a/apps/shared/interactive_curve_view_controller.cpp +++ b/apps/shared/interactive_curve_view_controller.cpp @@ -11,7 +11,7 @@ InteractiveCurveViewController::InteractiveCurveViewController(Responder * paren ViewController(parentResponder), ButtonRowDelegate(header, nullptr), m_cursor(cursor), - m_cursorView(CursorView()), + m_cursorView(), m_modelVersion(modelVersion), m_rangeVersion(rangeVersion), m_rangeParameterController(this, interactiveRange), diff --git a/apps/shared/list_parameter_controller.cpp b/apps/shared/list_parameter_controller.cpp index 37146ae68..ef3da85ca 100644 --- a/apps/shared/list_parameter_controller.cpp +++ b/apps/shared/list_parameter_controller.cpp @@ -5,14 +5,14 @@ namespace Shared { ListParameterController::ListParameterController(Responder * parentResponder, FunctionStore * functionStore, I18n::Message functionColorMessage, I18n::Message deleteFunctionMessage) : ViewController(parentResponder), - m_selectableTableView(SelectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, - Metric::CommonBottomMargin, Metric::CommonLeftMargin, this)), + m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, + Metric::CommonBottomMargin, Metric::CommonLeftMargin, this), m_functionStore(functionStore), #if FUNCTION_COLOR_CHOICE - m_colorCell(MessageTableCellWithChevron(functionColorMessage)), + m_colorCell(functionColorMessage), #endif - m_enableCell(MessageTableCellWithSwitch(I18n::Message::ActivateDesactivate)), - m_deleteCell(MessageTableCell(deleteFunctionMessage)) + m_enableCell(I18n::Message::ActivateDesactivate), + m_deleteCell(deleteFunctionMessage) { } diff --git a/apps/shared/new_function_cell.cpp b/apps/shared/new_function_cell.cpp index a4a71ce1d..fe2bdac10 100644 --- a/apps/shared/new_function_cell.cpp +++ b/apps/shared/new_function_cell.cpp @@ -5,7 +5,7 @@ namespace Shared { NewFunctionCell::NewFunctionCell(I18n::Message text) : EvenOddCell(), - m_messageTextView(MessageTextView(KDText::FontSize::Large, text, 0.5f, 0.5f)) + m_messageTextView(KDText::FontSize::Large, text, 0.5f, 0.5f) { } diff --git a/apps/shared/store_parameter_controller.cpp b/apps/shared/store_parameter_controller.cpp index d622b8dcc..240dd9d98 100644 --- a/apps/shared/store_parameter_controller.cpp +++ b/apps/shared/store_parameter_controller.cpp @@ -5,13 +5,13 @@ namespace Shared { StoreParameterController::StoreParameterController(Responder * parentResponder, FloatPairStore * store) : ViewController(parentResponder), - m_deleteColumn(MessageTableCell(I18n::Message::ClearColumn)), + m_deleteColumn(I18n::Message::ClearColumn), #if COPY_IMPORT_LIST - m_copyColumn(MessageTableCellWithChevron(I18n::Message::CopyColumnInList)), - m_importList(MessageTableCellWithChevron(I18n::Message::ImportList)), + m_copyColumn(I18n::Message::CopyColumnInList), + m_importList(I18n::Message::ImportList), #endif - m_selectableTableView(SelectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, - Metric::CommonBottomMargin, Metric::CommonLeftMargin, this)), + m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, + Metric::CommonBottomMargin, Metric::CommonLeftMargin, this), m_store(store), m_xColumnSelected(true) { diff --git a/apps/shared/values_controller.cpp b/apps/shared/values_controller.cpp index 645d1edd7..4e256d2e3 100644 --- a/apps/shared/values_controller.cpp +++ b/apps/shared/values_controller.cpp @@ -14,12 +14,12 @@ ValuesController::ValuesController(Responder * parentResponder, ButtonRowControl m_interval(interval), m_abscissaTitleCell(nullptr), m_abscissaCells{}, - m_abscissaParameterController(ValuesParameterController(this, intervalParameterController, parameterTitle)), - m_setIntervalButton(Button(this, I18n::Message::IntervalSet, Invocation([](void * context, void * sender) { + m_abscissaParameterController(this, intervalParameterController, parameterTitle), + m_setIntervalButton(this, I18n::Message::IntervalSet, Invocation([](void * context, void * sender) { ValuesController * valuesController = (ValuesController *) context; StackViewController * stack = ((StackViewController *)valuesController->stackController()); stack->push(valuesController->intervalParameterController()); - }, this), KDText::FontSize::Small)) + }, this), KDText::FontSize::Small) { } diff --git a/apps/shared/values_function_parameter_controller.cpp b/apps/shared/values_function_parameter_controller.cpp index f2ebee28b..0f75ab3f8 100644 --- a/apps/shared/values_function_parameter_controller.cpp +++ b/apps/shared/values_function_parameter_controller.cpp @@ -5,9 +5,9 @@ namespace Shared { ValuesFunctionParameterController::ValuesFunctionParameterController(char symbol) : ViewController(nullptr), - m_copyColumn(MessageTableCellWithChevron(I18n::Message::CopyColumnInList)), - m_selectableTableView(SelectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, - Metric::CommonBottomMargin, Metric::CommonLeftMargin, this)), + m_copyColumn(I18n::Message::CopyColumnInList), + m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, + Metric::CommonBottomMargin, Metric::CommonLeftMargin, this), m_function(nullptr), m_symbol(symbol) { diff --git a/apps/shared/values_parameter_controller.cpp b/apps/shared/values_parameter_controller.cpp index 74803139b..1e4a8c677 100644 --- a/apps/shared/values_parameter_controller.cpp +++ b/apps/shared/values_parameter_controller.cpp @@ -6,13 +6,13 @@ namespace Shared { ValuesParameterController::ValuesParameterController(Responder * parentResponder, IntervalParameterController * intervalParameterController, I18n::Message title) : ViewController(parentResponder), m_pageTitle(title), - m_deleteColumn(MessageTableCell(I18n::Message::Default)), + m_deleteColumn(I18n::Message::Default), #if COPY_COLUMN - m_copyColumn(MessageTableCellWithChevron(I18n::Message::Default)), + m_copyColumn(I18n::Message::Default), #endif - m_setInterval(MessageTableCellWithChevron(I18n::Message::Default)), - m_selectableTableView(SelectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, - Metric::CommonBottomMargin, Metric::CommonLeftMargin, this)), + m_setInterval(I18n::Message::Default), + m_selectableTableView(this, this, 0, 1, Metric::CommonTopMargin, Metric::CommonRightMargin, + Metric::CommonBottomMargin, Metric::CommonLeftMargin, this), m_intervalParameterController(intervalParameterController) { } diff --git a/apps/shared/zoom_parameter_controller.cpp b/apps/shared/zoom_parameter_controller.cpp index 2fdc8acdf..bb2f8bf63 100644 --- a/apps/shared/zoom_parameter_controller.cpp +++ b/apps/shared/zoom_parameter_controller.cpp @@ -6,7 +6,7 @@ namespace Shared { ZoomParameterController::ZoomParameterController(Responder * parentResponder, InteractiveCurveViewRange * interactiveRange, CurveView * curveView) : ViewController(parentResponder), - m_contentView(ContentView(curveView)), + m_contentView(curveView), m_interactiveRange(interactiveRange) { } @@ -92,14 +92,20 @@ CurveView * ZoomParameterController::ContentView::curveView() { /* Legend View */ -ZoomParameterController::ContentView::LegendView::LegendView() : - m_legends{MessageTextView(KDText::FontSize::Small, I18n::Message::Move, 1.0f, 0.5f, KDColorBlack, Palette::GreyBright), - MessageTextView(KDText::FontSize::Small, I18n::Message::ToZoom, 1.0f, 0.5f, KDColorBlack, Palette::GreyBright), - MessageTextView(KDText::FontSize::Small, I18n::Message::Or, 0.5f, 0.5f, KDColorBlack, Palette::GreyBright)}, - m_legendPictograms{KeyView(KeyView::Type::Up), KeyView(KeyView::Type::Down), - KeyView(KeyView::Type::Left), KeyView(KeyView::Type::Right), - KeyView(KeyView::Type::Plus), KeyView(KeyView::Type::Minus)} +ZoomParameterController::ContentView::LegendView::LegendView() { + I18n::Message messages[k_numberOfLegends] = {I18n::Message::Move, I18n::Message::ToZoom, I18n::Message::Or}; + float horizontalAlignments[k_numberOfLegends] = {1.0f, 1.0f, 0.5f}; + for (int i = 0; i < k_numberOfLegends; i++) { + m_legends[i].setFontSize(KDText::FontSize::Small); + m_legends[i].setMessage(messages[i]); + m_legends[i].setBackgroundColor(Palette::GreyBright); + m_legends[i].setAlignment(horizontalAlignments[i], 0.5f); + } + KeyView::Type tokenTypes[k_numberOfTokens] = {KeyView::Type::Up, KeyView::Type::Down, KeyView::Type::Left, KeyView::Type::Right, KeyView::Type::Plus, KeyView::Type::Minus}; + for (int i = 0; i < k_numberOfTokens ; i++) { + m_legendPictograms[i].setType(tokenTypes[i]); + } } void ZoomParameterController::ContentView::LegendView::drawRect(KDContext * ctx, KDRect rect) const { diff --git a/apps/statistics/box_controller.cpp b/apps/statistics/box_controller.cpp index 86e4af9a1..cbdc9efee 100644 --- a/apps/statistics/box_controller.cpp +++ b/apps/statistics/box_controller.cpp @@ -10,8 +10,8 @@ namespace Statistics { BoxController::BoxController(Responder * parentResponder, ButtonRowController * header, Store * store, BoxView::Quantile * selectedQuantile) : ViewController(parentResponder), ButtonRowDelegate(header, nullptr), - m_boxBannerView(BoxBannerView()), - m_view(BoxView(store, &m_boxBannerView, selectedQuantile)), + m_boxBannerView(), + m_view(store, &m_boxBannerView, selectedQuantile), m_store(store) { } diff --git a/apps/statistics/histogram_controller.cpp b/apps/statistics/histogram_controller.cpp index b8dabddbf..2f5832600 100644 --- a/apps/statistics/histogram_controller.cpp +++ b/apps/statistics/histogram_controller.cpp @@ -13,13 +13,13 @@ namespace Statistics { HistogramController::HistogramController(Responder * parentResponder, ButtonRowController * header, Store * store, uint32_t * storeVersion, uint32_t * barVersion, uint32_t * rangeVersion, int * selectedBarIndex) : ViewController(parentResponder), ButtonRowDelegate(header, nullptr), - m_bannerView(HistogramBannerView()), - m_view(HistogramView(store, &m_bannerView)), - m_settingButton(Button(this, I18n::Message::HistogramSet, Invocation([](void * context, void * sender) { + m_bannerView(), + m_view(store, &m_bannerView), + m_settingButton(this, I18n::Message::HistogramSet, Invocation([](void * context, void * sender) { HistogramController * histogramController = (HistogramController *) context; StackViewController * stack = ((StackViewController *)histogramController->stackController()); stack->push(histogramController->histogramParameterController()); - }, this))), + }, this)), m_store(store), m_storeVersion(storeVersion), m_barVersion(barVersion), diff --git a/apps/variable_box_controller.cpp b/apps/variable_box_controller.cpp index 1bcb66bc5..a2979a4fd 100644 --- a/apps/variable_box_controller.cpp +++ b/apps/variable_box_controller.cpp @@ -12,7 +12,7 @@ VariableBoxController::ContentViewController::ContentViewController(Responder * m_firstSelectedRow(0), m_previousSelectedRow(0), m_currentPage(Page::RootMenu), - m_selectableTableView(SelectableTableView(this, this, 0, 1, 0, 0, 0, 0, this, nullptr, false)) + m_selectableTableView(this, this, 0, 1, 0, 0, 0, 0, this, nullptr, false) { } @@ -243,7 +243,7 @@ void VariableBoxController::ContentViewController::resetPage() { VariableBoxController::VariableBoxController(Context * context) : StackViewController(nullptr, &m_contentViewController, true, KDColorWhite, Palette::PurpleBright, Palette::PurpleDark), - m_contentViewController(ContentViewController(this, context)) + m_contentViewController(this, context) { } diff --git a/apps/variable_box_leaf_cell.cpp b/apps/variable_box_leaf_cell.cpp index a06fbb970..32cdbfe21 100644 --- a/apps/variable_box_leaf_cell.cpp +++ b/apps/variable_box_leaf_cell.cpp @@ -5,8 +5,8 @@ using namespace Poincare; VariableBoxLeafCell::VariableBoxLeafCell() : HighlightCell(), - m_labelView(BufferTextView(KDText::FontSize::Small, 0, 0.5, KDColorBlack, KDColorWhite)), - m_subtitleView(BufferTextView(KDText::FontSize::Small, 0, 0.5, Palette::GreyDark, KDColorWhite)), + m_labelView(KDText::FontSize::Small, 0, 0.5, KDColorBlack, KDColorWhite), + m_subtitleView(KDText::FontSize::Small, 0, 0.5, Palette::GreyDark, KDColorWhite), m_displayExpression(false) { } diff --git a/escher/include/escher/editable_text_cell.h b/escher/include/escher/editable_text_cell.h index 4912105a3..0926ee527 100644 --- a/escher/include/escher/editable_text_cell.h +++ b/escher/include/escher/editable_text_cell.h @@ -8,8 +8,10 @@ class EditableTextCell : public HighlightCell, public Responder { public: - EditableTextCell(Responder * parentResponder, TextFieldDelegate * delegate, char * draftTextBuffer, KDText::FontSize size = KDText::FontSize::Large, + EditableTextCell(Responder * parentResponder = nullptr, TextFieldDelegate * delegate = nullptr, char * draftTextBuffer = nullptr, KDText::FontSize size = KDText::FontSize::Large, float horizontalAlignment = 0.0f, float verticalAlignment = 0.5f, KDColor textColor = KDColorBlack, KDColor = KDColorWhite); + void setTextFieldDelegate(TextFieldDelegate * delegate); + void setTextFieldDraftTextBuffer(char * draftTextBuffer); TextField * textField(); void setHighlighted(bool highlight) override; const char * text() const; diff --git a/escher/include/escher/key_view.h b/escher/include/escher/key_view.h index dff4b57bf..f0ac8fa62 100644 --- a/escher/include/escher/key_view.h +++ b/escher/include/escher/key_view.h @@ -13,7 +13,8 @@ public: Plus, Minus }; - KeyView(Type type); + KeyView(Type type = Type::Up); + void setType(Type type); void drawRect(KDContext * ctx, KDRect rect) const override; KDSize minimalSizeForOptimalDisplay() const override; constexpr static KDCoordinate k_keySize = 8; diff --git a/escher/include/escher/text_field.h b/escher/include/escher/text_field.h index fc26b1142..638868cb2 100644 --- a/escher/include/escher/text_field.h +++ b/escher/include/escher/text_field.h @@ -11,6 +11,8 @@ public: TextField(Responder * parentResponder, char * textBuffer, char * draftTextBuffer, size_t textBufferSize, TextFieldDelegate * delegate = nullptr, bool hasTwoBuffers = true, KDText::FontSize size = KDText::FontSize::Large, float horizontalAlignment = 0.0f, float verticalAlignment = 0.5f, KDColor textColor = KDColorBlack, KDColor = KDColorWhite); + void setDelegate(TextFieldDelegate * delegate); + void setDraftTextBuffer(char * draftTextBuffer); Toolbox * toolbox() override; bool isEditing() const; const char * text() const; @@ -28,7 +30,6 @@ public: * the maximum buffer capacity) and false is returned. */ bool insertTextAtLocation(const char * text, int location); KDSize minimalSizeForOptimalDisplay() const override; - void setTextFieldDelegate(TextFieldDelegate * delegate); bool handleEvent(Ion::Events::Event event) override; bool textFieldShouldFinishEditing(Ion::Events::Event event); constexpr static int maxBufferSize() { @@ -39,6 +40,7 @@ protected: public: ContentView(char * textBuffer, char * draftTextBuffer, size_t textBufferSize, KDText::FontSize size, float horizontalAlignment = 0.0f, float verticalAlignment = 0.5f, KDColor textColor = KDColorBlack, KDColor = KDColorWhite); + void setDraftTextBuffer(char * draftTextBuffer); void drawRect(KDContext * ctx, KDRect rect) const override; void reload(); bool isEditing() const; diff --git a/escher/include/escher/view.h b/escher/include/escher/view.h index 7e021b6b4..c8196a9a3 100644 --- a/escher/include/escher/view.h +++ b/escher/include/escher/view.h @@ -26,7 +26,10 @@ class View { public: View(); virtual ~View(); - + View(const View& other) = delete; + View(View&& other) = delete; + View& operator=(const View& other) = delete; + View& operator=(View&& other) = delete; /* The drawRect method should be implemented by each View subclass. In a * typical drawRect implementation, a subclass will make drawing calls to the * Kandinsky library using the provided context. */ diff --git a/escher/src/alternate_empty_view_controller.cpp b/escher/src/alternate_empty_view_controller.cpp index e896693b5..ec754a975 100644 --- a/escher/src/alternate_empty_view_controller.cpp +++ b/escher/src/alternate_empty_view_controller.cpp @@ -45,7 +45,7 @@ AlternateEmptyViewDelegate * AlternateEmptyViewController::ContentView::alternat AlternateEmptyViewController::AlternateEmptyViewController(Responder * parentResponder, ViewController * mainViewController, AlternateEmptyViewDelegate * delegate) : ViewController(parentResponder), - m_contentView(ContentView(mainViewController, delegate)) + m_contentView(mainViewController, delegate) { } diff --git a/escher/src/button_row_controller.cpp b/escher/src/button_row_controller.cpp index 3045d22ae..8775766c8 100644 --- a/escher/src/button_row_controller.cpp +++ b/escher/src/button_row_controller.cpp @@ -179,7 +179,7 @@ ButtonRowDelegate * ButtonRowController::ContentView::buttonRowDelegate() const ButtonRowController::ButtonRowController(Responder * parentResponder, ViewController * mainViewController, ButtonRowDelegate * delegate, Position position, Style style) : ViewController(parentResponder), - m_contentView(ContentView(mainViewController, delegate, position, style)) + m_contentView(mainViewController, delegate, position, style) { } @@ -230,4 +230,4 @@ void ButtonRowController::viewWillAppear() { void ButtonRowController::viewDidDisappear() { m_contentView.mainViewController()->viewDidDisappear(); -} \ No newline at end of file +} diff --git a/escher/src/editable_text_cell.cpp b/escher/src/editable_text_cell.cpp index a96f84f40..707916277 100644 --- a/escher/src/editable_text_cell.cpp +++ b/escher/src/editable_text_cell.cpp @@ -11,6 +11,14 @@ EditableTextCell::EditableTextCell(Responder * parentResponder, TextFieldDelegat { } +void EditableTextCell::setTextFieldDelegate(TextFieldDelegate * delegate) { + m_textField.setDelegate(delegate); +} + +void EditableTextCell::setTextFieldDraftTextBuffer(char * draftTextBuffer) { + m_textField.setDraftTextBuffer(draftTextBuffer); +} + TextField * EditableTextCell::textField() { return &m_textField; } diff --git a/escher/src/even_odd_buffer_text_cell.cpp b/escher/src/even_odd_buffer_text_cell.cpp index d83e7b399..0e7ac8b87 100644 --- a/escher/src/even_odd_buffer_text_cell.cpp +++ b/escher/src/even_odd_buffer_text_cell.cpp @@ -3,7 +3,7 @@ EvenOddBufferTextCell::EvenOddBufferTextCell(KDText::FontSize size, float horizontalAlignment, float verticalAlignment) : EvenOddCell(), - m_bufferTextView(BufferTextView(size, horizontalAlignment, verticalAlignment)) + m_bufferTextView(size, horizontalAlignment, verticalAlignment) { } diff --git a/escher/src/even_odd_expression_cell.cpp b/escher/src/even_odd_expression_cell.cpp index 1dd696d4e..75e076768 100644 --- a/escher/src/even_odd_expression_cell.cpp +++ b/escher/src/even_odd_expression_cell.cpp @@ -5,7 +5,7 @@ using namespace Poincare; EvenOddExpressionCell::EvenOddExpressionCell(float horizontalAlignment, float verticalAlignment, KDColor textColor, KDColor backgroundColor) : EvenOddCell(), - m_expressionView(ExpressionView(horizontalAlignment, verticalAlignment, textColor, backgroundColor)) + m_expressionView(horizontalAlignment, verticalAlignment, textColor, backgroundColor) { } diff --git a/escher/src/expression_table_cell.cpp b/escher/src/expression_table_cell.cpp index f4775382f..136fddb41 100644 --- a/escher/src/expression_table_cell.cpp +++ b/escher/src/expression_table_cell.cpp @@ -4,7 +4,7 @@ ExpressionTableCell::ExpressionTableCell(Layout layout) : TableCell(layout), - m_labelExpressionView(ExpressionView(0.0f, 0.5f, KDColorBlack, KDColorWhite)) + m_labelExpressionView(0.0f, 0.5f, KDColorBlack, KDColorWhite) { } diff --git a/escher/src/expression_table_cell_with_pointer.cpp b/escher/src/expression_table_cell_with_pointer.cpp index 407c81d7a..55aecaf3a 100644 --- a/escher/src/expression_table_cell_with_pointer.cpp +++ b/escher/src/expression_table_cell_with_pointer.cpp @@ -4,7 +4,7 @@ ExpressionTableCellWithPointer::ExpressionTableCellWithPointer(I18n::Message accessoryMessage, Layout layout) : ExpressionTableCell(layout), - m_accessoryView(MessageTextView(KDText::FontSize::Small, accessoryMessage, 0.0f, 0.5f, Palette::GreyDark, KDColorWhite)) + m_accessoryView(KDText::FontSize::Small, accessoryMessage, 0.0f, 0.5f, Palette::GreyDark, KDColorWhite) { if (layout == Layout::Horizontal) { m_accessoryView.setAlignment(1.0f, 0.5f); diff --git a/escher/src/input_view_controller.cpp b/escher/src/input_view_controller.cpp index a02d99715..22fd62fa1 100644 --- a/escher/src/input_view_controller.cpp +++ b/escher/src/input_view_controller.cpp @@ -60,7 +60,7 @@ TextField * InputViewController::TextFieldController::textField() { InputViewController::InputViewController(Responder * parentResponder, ViewController * child, TextFieldDelegate * textFieldDelegate) : ModalViewController(parentResponder, child), - m_textFieldController(TextFieldController(this, this)), + m_textFieldController(this, this), m_successAction(Invocation(nullptr, nullptr)), m_failureAction(Invocation(nullptr, nullptr)), m_textFieldDelegate(textFieldDelegate) diff --git a/escher/src/key_view.cpp b/escher/src/key_view.cpp index 8ca55f4fd..9d2ec44d3 100644 --- a/escher/src/key_view.cpp +++ b/escher/src/key_view.cpp @@ -72,6 +72,11 @@ KeyView::KeyView(Type type) : { } +void KeyView::setType(Type type) { + m_type = type; + markRectAsDirty(bounds()); +} + KDColor s_keyWorkingBuffer[KeyView::k_keySize*KeyView::k_keySize]; void KeyView::drawRect(KDContext * ctx, KDRect rect) const { diff --git a/escher/src/message_table_cell.cpp b/escher/src/message_table_cell.cpp index 8389c5156..e0199a319 100644 --- a/escher/src/message_table_cell.cpp +++ b/escher/src/message_table_cell.cpp @@ -4,7 +4,7 @@ MessageTableCell::MessageTableCell(I18n::Message label, KDText::FontSize size, Layout layout) : TableCell(layout), - m_messageTextView(MessageTextView(size, label, 0, 0.5, KDColorBlack, KDColorWhite)) + m_messageTextView(size, label, 0, 0.5, KDColorBlack, KDColorWhite) { } diff --git a/escher/src/message_table_cell_with_buffer.cpp b/escher/src/message_table_cell_with_buffer.cpp index 02c8ea801..5d1540436 100644 --- a/escher/src/message_table_cell_with_buffer.cpp +++ b/escher/src/message_table_cell_with_buffer.cpp @@ -3,7 +3,7 @@ MessageTableCellWithBuffer::MessageTableCellWithBuffer(I18n::Message message, KDText::FontSize fontSize, KDText::FontSize accessoryFontSize, KDColor accessoryTextColor) : MessageTableCell(message, fontSize), - m_accessoryView(BufferTextView(accessoryFontSize, 1.0f, 0.5f, accessoryTextColor)) + m_accessoryView(accessoryFontSize, 1.0f, 0.5f, accessoryTextColor) { } diff --git a/escher/src/message_table_cell_with_editable_text.cpp b/escher/src/message_table_cell_with_editable_text.cpp index bd08deb17..e4ecd6ae2 100644 --- a/escher/src/message_table_cell_with_editable_text.cpp +++ b/escher/src/message_table_cell_with_editable_text.cpp @@ -5,7 +5,7 @@ MessageTableCellWithEditableText::MessageTableCellWithEditableText(Responder * parentResponder, TextFieldDelegate * textFieldDelegate, char * draftTextBuffer, I18n::Message message) : Responder(parentResponder), MessageTableCell(message), - m_textField(TextField(this, m_textBody, draftTextBuffer, TextField::maxBufferSize(), textFieldDelegate, true, KDText::FontSize::Large, 1.0f, 0.5f)) + m_textField(this, m_textBody, draftTextBuffer, TextField::maxBufferSize(), textFieldDelegate, true, KDText::FontSize::Large, 1.0f, 0.5f) { } diff --git a/escher/src/message_table_cell_with_message.cpp b/escher/src/message_table_cell_with_message.cpp index adf721a97..294bbd4f0 100644 --- a/escher/src/message_table_cell_with_message.cpp +++ b/escher/src/message_table_cell_with_message.cpp @@ -3,7 +3,7 @@ MessageTableCellWithMessage::MessageTableCellWithMessage(I18n::Message message, Layout layout) : MessageTableCell(message, KDText::FontSize::Small, layout), - m_accessoryView(MessageTextView(KDText::FontSize::Small, (I18n::Message)0, 0.0f, 0.5f)) + m_accessoryView(KDText::FontSize::Small, (I18n::Message)0, 0.0f, 0.5f) { if (layout != Layout::Vertical) { m_accessoryView.setAlignment(1.0f, 0.5f); diff --git a/escher/src/stack_view_controller.cpp b/escher/src/stack_view_controller.cpp index 0ac5e91ba..6a95b7f51 100644 --- a/escher/src/stack_view_controller.cpp +++ b/escher/src/stack_view_controller.cpp @@ -68,7 +68,7 @@ const char * StackViewController::ControllerView::className() const { StackViewController::StackViewController(Responder * parentResponder, ViewController * rootViewController, bool displayFirstStackHeader, KDColor textColor, KDColor backgroundColor, KDColor separatorColor) : ViewController(parentResponder), - m_view(ControllerView(displayFirstStackHeader)), + m_view(displayFirstStackHeader), m_numberOfChildren(0), m_isVisible(false) { diff --git a/escher/src/text_field.cpp b/escher/src/text_field.cpp index 8b83d243c..b305de83e 100644 --- a/escher/src/text_field.cpp +++ b/escher/src/text_field.cpp @@ -21,6 +21,10 @@ TextField::ContentView::ContentView(char * textBuffer, char * draftTextBuffer, s assert(m_textBufferSize <= k_maxBufferSize); } +void TextField::ContentView::setDraftTextBuffer(char * draftTextBuffer) { + m_draftTextBuffer = draftTextBuffer; +} + void TextField::ContentView::drawRect(KDContext * ctx, KDRect rect) const { KDColor bckCol = m_backgroundColor; if (m_isEditing) { @@ -209,6 +213,14 @@ TextField::TextField(Responder * parentResponder, char * textBuffer, char * draf { } +void TextField::setDelegate(TextFieldDelegate * delegate) { + m_delegate = delegate; +} + +void TextField::setDraftTextBuffer(char * draftTextBuffer) { + m_contentView.setDraftTextBuffer(draftTextBuffer); +} + Toolbox * TextField::toolbox() { if (m_delegate) { return m_delegate->toolboxForTextField(this); @@ -277,10 +289,6 @@ KDSize TextField::minimalSizeForOptimalDisplay() const { return KDSize(0, m_contentView.textHeight()); } -void TextField::setTextFieldDelegate(TextFieldDelegate * delegate) { - m_delegate = delegate; -} - bool TextField::textFieldShouldFinishEditing(Ion::Events::Event event) { return m_delegate->textFieldShouldFinishEditing(this, event); } diff --git a/escher/src/warning_controller.cpp b/escher/src/warning_controller.cpp index c5d843f1d..371d4cc78 100644 --- a/escher/src/warning_controller.cpp +++ b/escher/src/warning_controller.cpp @@ -30,7 +30,7 @@ KDSize WarningController::ContentView::minimalSizeForOptimalDisplay() const { WarningController::WarningController(Responder * parentResponder, I18n::Message warningMessage) : ViewController(parentResponder), - m_contentView(ContentView()), + m_contentView(), m_warningMessage(warningMessage) { }