mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-25 00:30:46 +01:00
Merge branch 'solver' into upgrade-1.6.0
This commit is contained in:
@@ -153,8 +153,6 @@ bool ConsoleController::handleEvent(Ion::Events::Event event) {
|
||||
app()->setFirstResponder(&m_editCell);
|
||||
return m_editCell.insertText(text);
|
||||
}
|
||||
} else if (event == Ion::Events::Copy) {
|
||||
return copyCurrentLineToClipboard();
|
||||
} else if (event == Ion::Events::Clear) {
|
||||
m_selectableTableView.deselectTable();
|
||||
m_consoleStore.clear();
|
||||
@@ -392,13 +390,4 @@ StackViewController * ConsoleController::stackViewController() {
|
||||
return static_cast<StackViewController *>(parentResponder());
|
||||
}
|
||||
|
||||
bool ConsoleController::copyCurrentLineToClipboard() {
|
||||
int row = m_selectableTableView.selectedRow();
|
||||
if (row < m_consoleStore.numberOfLines()) {
|
||||
Clipboard::sharedClipboard()->store(m_consoleStore.lineAtIndex(row).text());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -88,7 +88,6 @@ private:
|
||||
void emptyOutputAccumulationBuffer();
|
||||
size_t firstNewLineCharIndex(const char * text, size_t length);
|
||||
StackViewController * stackViewController();
|
||||
bool copyCurrentLineToClipboard();
|
||||
int m_rowHeight;
|
||||
bool m_importScriptsWhenViewAppears;
|
||||
ConsoleStore m_consoleStore;
|
||||
|
||||
@@ -28,7 +28,7 @@ public:
|
||||
|
||||
// Edit cell
|
||||
void setEditing(bool isEditing, bool reinitDraftBuffer = false);
|
||||
const char * text() const { return m_textField.text(); }
|
||||
const char * text() const override { return m_textField.text(); }
|
||||
void setText(const char * text);
|
||||
bool insertText(const char * text);
|
||||
void setPrompt(const char * prompt);
|
||||
|
||||
@@ -24,7 +24,9 @@ public:
|
||||
Responder * responder() override {
|
||||
return this;
|
||||
}
|
||||
|
||||
const char * text() const override {
|
||||
return m_line.text();
|
||||
}
|
||||
/* View */
|
||||
int numberOfSubviews() const override;
|
||||
View * subviewAtIndex(int index) override;
|
||||
|
||||
@@ -12,7 +12,7 @@ MenuController::MenuController(Responder * parentResponder, ScriptStore * script
|
||||
ViewController(parentResponder),
|
||||
ButtonRowDelegate(nullptr, footer),
|
||||
m_scriptStore(scriptStore),
|
||||
m_addNewScriptCell(I18n::Message::AddScript),
|
||||
m_addNewScriptCell(),
|
||||
m_consoleButton(this, I18n::Message::Console, Invocation([](void * context, void * sender) {
|
||||
MenuController * menu = (MenuController *)context;
|
||||
if (menu->consoleController()->loadPythonEnvironment()) {
|
||||
@@ -29,6 +29,7 @@ MenuController::MenuController(Responder * parentResponder, ScriptStore * script
|
||||
{
|
||||
m_selectableTableView.setMargins(0);
|
||||
m_selectableTableView.setShowsIndicators(false);
|
||||
m_addNewScriptCell.setMessage(I18n::Message::AddScript);
|
||||
for (int i = 0; i < k_maxNumberOfDisplayableScriptCells; i++) {
|
||||
m_scriptCells[i].setParentResponder(&m_selectableTableView);
|
||||
m_scriptCells[i].editableTextCell()->textField()->setDelegate(this);
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#define CODE_MENU_CONTROLLER_H
|
||||
|
||||
#include <escher.h>
|
||||
#include <apps/shared/new_function_cell.h>
|
||||
#include "console_controller.h"
|
||||
#include "editor_controller.h"
|
||||
#include "script_parameter_controller.h"
|
||||
@@ -99,7 +98,7 @@ private:
|
||||
* constructor of an EvenOddEditableTextCell. */
|
||||
char m_draftTextBuffer[TextField::maxBufferSize()];
|
||||
EvenOddCellWithEllipsis m_scriptParameterCells[k_maxNumberOfDisplayableScriptCells];
|
||||
Shared::NewFunctionCell m_addNewScriptCell;
|
||||
EvenOddMessageTextCell m_addNewScriptCell;
|
||||
EvenOddCell m_emptyCell;
|
||||
Button m_consoleButton;
|
||||
SelectableTableView m_selectableTableView;
|
||||
|
||||
@@ -21,6 +21,7 @@ public:
|
||||
/* HighlightCell */
|
||||
void setHighlighted(bool highlight) override;
|
||||
void reloadCell() override;
|
||||
const char * text() const override { return m_scriptNodeView.text(); }
|
||||
|
||||
constexpr static char k_parentheses[] = "()";
|
||||
constexpr static char k_parenthesesWithEmpty[] = {'(', Ion::Charset::Empty, ')', 0};
|
||||
@@ -32,6 +33,9 @@ protected:
|
||||
void setScriptStore(ScriptStore * scriptStore);
|
||||
void drawRect(KDContext * ctx, KDRect rect) const override;
|
||||
virtual KDSize minimalSizeForOptimalDisplay() const override;
|
||||
const char * text() const override {
|
||||
return m_scriptStore->scriptAtIndex(m_scriptNode->scriptIndex()).name();
|
||||
}
|
||||
private:
|
||||
constexpr static KDText::FontSize k_fontSize = KDText::FontSize::Small;
|
||||
constexpr static KDCoordinate k_verticalMargin = 7;
|
||||
|
||||
Reference in New Issue
Block a user