 |
wxMaxima
|
Go to the documentation of this file.
45 GC_TYPE_SUBSUBSECTION,
74 std::unique_ptr<Cell> Copy()
const;
75 std::unique_ptr<Cell> Copy(
GroupCell *group)
const override;
77 std::unique_ptr<GroupCell> CopyList()
const;
83 const wxString &GetAnswer(
int answer)
const;
84 const wxString &GetAnswer(
const wxString &question)
const;
89 void SetAutoAnswer(
bool autoAnswer);
90 void MarkNeedsRecalculate(){m_cellsAppended =
true;}
92 void SetAnswer(
const wxString &question,
const wxString &answer);
116 const wxString &
GetToolTip(wxPoint point)
const override;
126 Range GetCellsInOutput()
const;
128 Range GetCellsInOutputRect(
const wxRect &rect, wxPoint one, wxPoint two)
const;
132 bool SetEditableContent(
const wxString &text);
134 void AppendOutput(std::unique_ptr<Cell> &&cell);
158 wxString
ToTeX(wxString imgDir, wxString filename,
int *imgCounter)
const;
160 wxString
ToRTF()
const override;
162 wxString ToTeXCodeCell(wxString imgDir, wxString filename,
int *imgCounter)
const;
164 static wxString ToTeXImage(
Cell *tmp, wxString imgDir, wxString filename,
int *imgCounter);
166 wxString
ToTeX()
const override;
168 wxString
ToXML()
const override;
170 void Hide(
bool hide)
override;
177 void SetInput(std::unique_ptr<Cell> &&input);
179 void SetOutput(std::unique_ptr<Cell> &&output);
181 void AppendInput(std::unique_ptr<Cell> &&cell);
188 static wxString TexEscapeOutputCell(wxString Input);
219 wxPoint CalculateInputPosition();
223 wxRect
GetRect(
bool all =
false)
const override;
266 bool HideTree(std::unique_ptr<GroupCell> &&tree);
313 bool IsMainInput(
Cell *active)
const;
315 bool IsHeading()
const;
324 void Number(
int §ion,
int &subsection,
int &subsubsection,
int &heading5,
int &heading6,
int &image)
const;
337 void Draw(wxPoint point)
override;
365 WX_DECLARE_STRING_HASH_MAP(wxString, StringHash);
369 #if wxUSE_ACCESSIBILITY
370 wxAccStatus GetDescription(
int childId, wxString *description)
const override;
371 wxAccStatus GetLocation (wxRect &rect,
int elementId)
override;
377 void UpdateOutputPositions();
379 void UpdateYPositionList();
386 int GetInputIndent();
387 int GetLineIndent(
Cell *cell);
388 void UpdateCellsInGroup();
392 wxRect m_outputRect{-1, -1, 0, 0};
412 int m_labelWidth_cached = 0;
413 int m_inputWidth, m_inputHeight;
416 int m_clientWidth_old = -1;
423 mutable int16_t m_numberedAnswersCount = 0;
438 m_inEvaluationQueue =
false;
439 m_lastInEvaluationQueue =
false;
440 m_updateConfusableCharWarnings =
true;
442 m_cellsAppended =
false;
447 bool m_inEvaluationQueue : 1 ;
448 bool m_lastInEvaluationQueue : 1 ;
449 bool m_updateConfusableCharWarnings : 1 ;
452 bool m_cellsAppended : 1;
454 static wxString m_lookalikeChars;
bool m_suppressTooltipMarker
Suppress the yellow ToolTip marker?
Definition: GroupCell.h:451
bool IsLesserGCType(GroupType comparedTo) const
Definition: GroupCell.cpp:1929
const CellTypeInfo & GetInfo() override
Returns the information about this cell's type.
std::unique_ptr< Cell > m_inputLabel
The input label of this cell. Is followed by the input of the cell.
Definition: GroupCell.h:405
Range GetInnerCellsInRect(const wxRect &rect) const override
Select the cells inside this cell described by the rectangle rect.
Definition: GroupCell.cpp:1488
void CellUnderPointer(GroupCell *cell)
Definition: GroupCell.cpp:876
void Recalculate(AFontSize WXUNUSED(fontsize)) override
Definition: GroupCell.h:217
void ResetInputLabelList()
Call ResetInputLabel() on all cells in the list of cells this GroupCell starts with.
Definition: GroupCell.cpp:243
wxRect GetOutputRect() const
Determine which rectangle is occupied by this GroupCell.
Definition: GroupCell.h:209
wxString ToRTF() const override
Definition: GroupCell.cpp:1097
bool ContainsSavedAnswers()
Does this GroupCell know the answer to any of maxima's questions?
Definition: GroupCell.h:86
void RemoveOutput()
Definition: GroupCell.cpp:357
bool NeedsRecalculation(AFontSize fontSize) const override
True, if something that affects the cell size has changed.
Definition: GroupCell.cpp:665
void InputHeightChanged()
Reset the data when the input size changes.
Definition: GroupCell.cpp:512
bool IsFoldable() const
folding and unfolding
Definition: GroupCell.cpp:254
void UpdateYPosition()
Recalculate the cell's y position using the position and height of the last one.
Definition: GroupCell.cpp:678
bool AutoAnswer() const
Does this GroupCell save the answer to a question?
Definition: GroupCell.h:88
GroupCell * SectioningUnitGetEndOf() const
Get the end of this section/subsection/...
Cell * GetLabel() const
Definition: GroupCell.h:199
std::unique_ptr< GroupCell > UnhideTree()
Unfold the current cell.
Definition: GroupCell.cpp:1814
bool Contains(GroupCell *cell) const
Does this tree contain the cell "cell"?
Definition: GroupCell.cpp:2058
void UpdateConfusableCharWarnings()
GroupCells warn if they contain both greek and latin lookalike chars.
Definition: GroupCell.cpp:413
GroupCell * Unfold()
Definition: GroupCell.cpp:1884
wxString ToXML() const override
Convert this cell to a representation fit for saving in a .wxmx file.
Definition: GroupCell.cpp:1352
wxString ToString() const override
A textual representation of this cell.
Definition: GroupCell.cpp:1059
std::unique_ptr< GroupCell > m_hiddenTree
here hidden (folded) tree of GCs is stored
Definition: GroupCell.h:398
void SetHiddenTreeParent(GroupCell *parent)
Set the parent cell of hidden cells.
Definition: GroupCell.cpp:1841
void ResetInputLabel()
Definition: GroupCell.cpp:234
GroupType m_groupType
Which type this cell is of?
Definition: GroupCell.h:430
void RecalculateInput()
Recalculate the height of the input part of the cell.
Definition: GroupCell.cpp:551
GroupType
All types a GroupCell can be of.
Definition: GroupCell.h:38
bool RevealHidden()
Definition: GroupCell.cpp:1827
int GetInnerCellCount() const override
The number of inner cells - for use by the iterators.
Definition: GroupCell.h:94
int16_t m_cellsInGroup
The number of cells the current group contains (-1, if no GroupCell)
Definition: GroupCell.h:422
void RecalculateOutput()
Definition: GroupCell.cpp:600
StringHash m_knownAnswers
A list of answers provided by the user.
Definition: GroupCell.h:367
bool BreakUpCells(Cell *cell)
Definition: GroupCell.cpp:1675
Cell * first() const
Get the first cell in this list of cells.
Definition: Cell.cpp:1058
Definition: EditorCell.h:57
void InEvaluationQueue(bool inQueue)
Is this cell part of the evaluation Queue?
Definition: GroupCell.h:354
Cell * GetOutput() const
Definition: GroupCell.h:205
Cell * GetNext() const
Get the next cell in the list.
Definition: Cell.h:624
bool m_autoAnswer
Does this GroupCell automatically fill in the answer to questions?
Definition: GroupCell.h:446
Definition: CellPointers.h:44
GroupCell * GetHiddenTree() const
Get the tree of cells that got hidden by folding this cell.
Definition: GroupCell.h:258
Definition: FontAttribs.h:97
void BreakLines()
Break this cell into lines.
Definition: GroupCell.cpp:1592
void OnSize()
Called on MathCtrl resize.
Definition: GroupCell.cpp:533
void LastInEvaluationQueue(bool last)
Is this cell the last cell in the evaluation Queue?
Definition: GroupCell.h:357
bool HideTree(std::unique_ptr< GroupCell > &&tree)
Definition: GroupCell.cpp:1796
bool Empty() const
Is this list of cells empty?
Definition: GroupCell.cpp:224
wxString ToTeX() const override
Convert this cell to its LaTeX representation.
Definition: GroupCell.cpp:1092
wxRect GetRect(bool all=false) const override
Definition: GroupCell.cpp:849
Definition: Configuration.h:83
bool UnBreakUpCells(Cell *cell)
Undo a BreakUpCells.
Definition: GroupCell.cpp:1724
const wxString & GetToolTip(wxPoint point) const override
Definition: GroupCell.cpp:1548
Cell * last() const
Get the last cell in this list of cells.
Definition: Cell.cpp:1068
std::unique_ptr< Cell > m_output
The maxima output this cell contains.
Definition: GroupCell.h:407
GroupCell * GetPrevious() const
Get the previous GroupCell in the list.
Definition: GroupCell.h:184
GroupCell * GetLastWorkingGroup() const
Definition: GroupCell.cpp:299
GroupCell * m_hiddenTreeParent
store linkage to the parent of the fold
Definition: GroupCell.h:399
void SetAnswer(const wxString &question, const wxString &answer)
Add a new answer to the cell.
Definition: GroupCell.cpp:293
GroupCell * GetNext() const
Get the next GroupCell in the list.
Definition: GroupCell.h:186
void Number(int §ion, int &subsection, int &subsubsection, int &heading5, int &heading6, int &image) const
Return this cell's section- or image number.
Definition: GroupCell.cpp:1977
bool AddEnding() override
Definition: GroupCell.cpp:844
Definition: GroupCell.h:68
bool SectioningCanMoveOut() const
Can this chapter/section/... converted to a 'larger' cell, e.g. subsection->section,...
Definition: GroupCell.h:319
GroupCell * Fold()
Definition: GroupCell.cpp:1847
GroupCell * UnfoldAll()
Definition: GroupCell.cpp:1913
A class that carries information about the type of a cell.
Definition: Cell.h:90
Cell * GetInnerCell(int index) const override
Definition: GroupCell.h:96
bool SectioningCanMoveIn() const
Can this chapter/section/... converted to a 'smaller' cell, e.g. section->subsection,...
Definition: GroupCell.h:317
void DrawBracket()
Draw the bracket of this cell.
Definition: GroupCell.cpp:881
GroupCell * FoldAll()
Definition: GroupCell.cpp:1895