コード例 #1
0
//TODO: if the line added is not visible scroll down one
void CodeEditor::addLine(const String &line) {
	Font *font = Preferences::instance()->getFont();

	Text newLine(line, *font, mFontSize);
	newLine.setDoMultiColor(false);
	newLine.setPosition(mPos.x + mLineNumberAreaWidth, mText[mCurrentLine].getPosition().y + mFontSize + 2);
	newLine.setColor(mTextColor);

	if (mUpperBound < getLineLength(mCurrentLine)) {
		newLine.append(getLine(mCurrentLine).substring(mUpperBound, getLineLength(mCurrentLine) - mUpperBound));
		mText[mCurrentLine].erase(mUpperBound, getLineLength(mCurrentLine) - mUpperBound);
	}

	mUpperBound = 0;
	mLineIndex = 0;

	if (++mCurrentLine > (getLineCount() - 1)) {
		mText.push_back(newLine);
	} else {
		mText.insert(mText.begin() + mCurrentLine, newLine);

		//Shift the lines down.
		for (int i = mCurrentLine + 1; i < mText.size(); ++i) {
			mText[i].setPosition(mPos.x + mLineNumberAreaWidth, mText[i].getPosition().y + mFontSize + 2);
		}
	}

	addLineNumber();
	--mCurrentLine;
	moveCursorDownOne();
}
コード例 #2
0
void CodeEditor::clear() {
	mText.clear();
	mLineNumbers.clear();
	mCurrentLine = 0;
	mLineIndex = 0;
	mUpperBound = 0;

	Text text("", *Preferences::instance()->getFont(), mFontSize);
	text.setDoMultiColor(false);
	text.setColor(mTextColor);
	text.setPosition(mPos.x + mLineNumberAreaWidth, mPos.y);
	mText.push_back(text);

	addLineNumber();
}
コード例 #3
0
CodeEditor::CodeEditor() {
	//TODO: No hard coded values.
	mPos = Vector2u(4, 42);
	mSize = Vector2u(10, 10);

	getPreferences();

	mCurrentLine = 0;
	mMarkLine = 0;

	mMode = Edit;

	Text text("", *Preferences::instance()->getFont(), mFontSize);
	text.setDoMultiColor(false);
	text.setColor(mTextColor);
	text.setPosition(mPos.x + mLineNumberAreaWidth, mPos.y);
	mText.push_back(text);
	
	mClock = Clock();

	addLineNumber();

	mLineIndex = 0;
	mUpperBound = 0;
	mMarkIndex = 0;

	mCode = "Hello";

	mFilename = "";
	mWorkingDirectory = "";

	frames = 0;
	timeNow = mClock.getCurrentTimeInMilliseconds() - 1000;

	mFirstMarkSet = false;
}
コード例 #4
0
ファイル: gcode.cpp プロジェクト: aliceylan/camnest
	///@bug merge with appenedNumcode using .arg()
	void GCode::appendCode ( QString code, QString value){
	 addLineNumber();
	 *this << code+ " "<< value<< " ";
	}