mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
[escher] Rule of 5 in view
Change-Id: Iba04e9046845b544e184530562e34f831fce96f6
This commit is contained in:
@@ -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(),
|
||||
|
||||
@@ -5,7 +5,7 @@ extern "C" {
|
||||
|
||||
AppsWindow::AppsWindow() :
|
||||
Window(),
|
||||
m_titleBarView(TitleBarView()),
|
||||
m_titleBarView(),
|
||||
m_hideTitleBarView(false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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];
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace Shared {
|
||||
|
||||
FunctionExpressionCell::FunctionExpressionCell() :
|
||||
EvenOddCell(),
|
||||
m_expressionView(ExpressionView())
|
||||
m_expressionView()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user