44 std::unique_ptr<Cell> &&base, std::unique_ptr<Cell> &&lowerLimit,
45 std::unique_ptr<Cell> &&upperLimit, std::unique_ptr<Cell> &&var);
47 std::unique_ptr<Cell> &&base, std::unique_ptr<Cell> &&var);
60 return m_comma1.get();
64 return m_comma2.get();
66 return m_lowerLimit.get();
68 return m_comma3.get();
70 return m_upperLimit.get();
82 void Draw(wxDC *dc, wxDC *antialiassingDC)
override;
95 wxString
ToOMML()
const override;
97 wxString
ToTeX()
const override;
98 wxString
ToXML()
const override;
115 Cell *
const varHead = m_var->GetNext() ? m_var->GetNext() : m_var.get();
123 return m_comma1.get();
127 return m_close.get();
138 return m_comma1.get();
142 return m_comma2.get();
144 return m_lowerLimit.get();
146 return m_comma3.get();
148 return m_upperLimit.get();
150 return m_close.get();
158 (m_upperLimit != NULL) && (m_lowerLimit != NULL); }
161 wxCoord IntSignLimitYoffset()
const {
return Scale_Px(8); }
162 void MakeBreakUpCells();
163 const static wxString m_svgIntegralSign;
168 std::unique_ptr<Cell> m_open;
170 std::unique_ptr<Cell> m_base;
171 std::unique_ptr<Cell> m_comma1;
173 std::unique_ptr<Cell> m_var;
174 std::unique_ptr<Cell> m_comma2;
176 std::unique_ptr<Cell> m_lowerLimit;
177 std::unique_ptr<Cell> m_comma3;
179 std::unique_ptr<Cell> m_upperLimit;
181 std::unique_ptr<Cell> m_close;
191 wxCoord m_charHeight = 12;
192 wxCoord m_charWidth = 12;
The definition of the base class of all cells the worksheet consists of.
A Type-Safe Fixed-Point Font Size.
Definition: FontAttribs.h:99
A cached integer value.
Definition: CachedValue.h:45
A class that carries information about the type of a cell.
Definition: Cell.h:93
The base class all cell types the worksheet can consist of are derived from.
Definition: Cell.h:148
wxCoord Scale_Px(double px) const
Scale font sizes and line widths according to the zoom factor.
Definition: Cell.h:182
virtual void SetCurrentPoint(wxPoint point) const
Pass 2: Arrangement.
Definition: Cell.cpp:514
The configuration storage for the current worksheet.
Definition: Configuration.h:98
A cell grouping input (and, if there is one, also the output) cell to a foldable item.
Definition: GroupCell.h:88
This class represents an integral.
Definition: IntCell.h:40
wxString ToMathML() const override
Convert this cell to a representation fit for saving in a .wxmx file.
Definition: IntCell.cpp:259
Cell * GetBrokenCell(size_t index) const override
Retrieve a piece of this cell's broken (linear/1D) display; see GetBrokenCellCount().
Definition: IntCell.h:114
wxString ToXML() const override
Convert this cell to a representation fit for saving in a .wxmx file.
Definition: IntCell.cpp:317
size_t GetBrokenCellCount() const override
ORDER MATTERS, and this is a runtime-conditional SUBSET of GetInnerCellCount()/GetInnerCell() above,...
Definition: IntCell.h:113
wxString ToMatlab() const override
Convert this cell to its Matlab representation.
Definition: IntCell.cpp:218
IntegralType
Definition: IntCell.h:85
@ INT_DEF
A definite integral, meaning an integral with limits.
Definition: IntCell.h:86
@ INT_IDEF
An indefinite integral, meaning an integral without limits
Definition: IntCell.h:87
void SetCurrentPoint(wxPoint point) const override
Pass 2: Arrangement.
Definition: IntCell.cpp:144
const CellTypeInfo & GetInfo() override
Returns the information about this cell's type.
void Draw(wxDC *dc, wxDC *antialiassingDC) override
Pass 3 (Paint): Renders the cell using pre-calculated coordinates.
Definition: IntCell.cpp:171
bool BreakUp() const override
Try to split this command into lines to make it fit on the screen.
Definition: IntCell.cpp:348
std::unique_ptr< Cell > Copy(GroupCell *group) const override
Create a copy of this cell.
bool HasLimits() const
Does this integral have limits?
Definition: IntCell.h:157
void SetIntStyle(IntegralType style)
Choose between definite and indefinite integrals.
Definition: IntCell.h:91
wxString ToString() const override
Returns the cell's representation as a string.
Definition: IntCell.cpp:195
Cell * GetInnerCell(size_t index) const override
Retrieve an inner cell with given index which must be less than GetInnerCellCount.
Definition: IntCell.h:53
wxString ToTeX() const override
Convert this cell to its LaTeX representation.
Definition: IntCell.cpp:240
wxString ToOMML() const override
Returns the cell's representation as OMML.
Definition: IntCell.cpp:290
size_t GetInnerCellCount() const override
The number of inner cells - for use by the iterators.
Definition: IntCell.h:52
void Recalculate(const AFontSize fontsize) const override
Recalculate the size of the cell and the difference between top and center.
Definition: IntCell.cpp:84