Files
Upsilon/apps/sequence/sequence.h
Émilie Feral 5b78ad893d [apps/shared] Specifiy the meaning of a defined sequence in sequence/
Change-Id: I082a7f9f9785c12dfedcee070badb4eded66ab89
2017-03-02 15:35:02 +01:00

49 lines
1.6 KiB
C++

#ifndef SEQUENCE_SEQUENCE_H
#define SEQUENCE_SEQUENCE_H
#include "../shared/function.h"
namespace Sequence {
class Sequence : public Shared::Function {
public:
enum class Type {
Explicite = 0,
SingleRecurrence = 1,
DoubleRecurrence = 2
};
Sequence(const char * text = nullptr, KDColor color = KDColorBlack);
~Sequence();
Type type();
void setType(Type type);
const char * firstInitialConditionText();
const char * secondInitialConditionText();
Poincare::Expression * firstInitialConditionExpression();
Poincare::Expression * secondInitialConditionExpression();
Poincare::ExpressionLayout * firstInitialConditionLayout();
Poincare::ExpressionLayout * secondInitialConditionLayout();
void setFirstInitialConditionContent(const char * c);
void setSecondInitialConditionContent(const char * c);
char symbol() const override;
int numberOfElements();
Poincare::ExpressionLayout * definitionName();
Poincare::ExpressionLayout * firstInitialConditionName();
Poincare::ExpressionLayout * secondInitialConditionName();
bool isDefined() override;
private:
Type m_type;
char m_firstInitialConditionText[Shared::Function::k_bodyLength];
char m_secondInitialConditionText[Shared::Function::k_bodyLength];
Poincare::Expression * m_firstInitialConditionExpression;
Poincare::Expression * m_secondInitialConditionExpression;
Poincare::ExpressionLayout * m_firstInitialConditionLayout;
Poincare::ExpressionLayout * m_secondInitialConditionLayout;
Poincare::ExpressionLayout * m_definitionName;
Poincare::ExpressionLayout * m_firstInitialConditionName;
Poincare::ExpressionLayout * m_secondInitialConditionName;
};
}
#endif