228 static const int KEY_NONE = 0, KEY_BACKSPACE = 1, KEY_LEFT = 2, KEY_RIGHT = 4, KEY_DELETE = 8, KEY_ENTER = 16, KEY_UP = 32, KEY_DOWN = 64;
231 int cursorposx, cursorposy, cursorposchar, cursorposutf, cursorpreviousposutf;
233 int cursorshowcounter, cursorshowcounterlimit, cursorshowlimit;
235 std::vector<short> letterlength;
236 std::vector<int> letterpos;
238 int keypresstime, keypresstimelimit1, keypresstimelimit2;
240 int firstchar, firstutf, firstposx;
244 std::vector<int> clickTextbox(
int x,
int y);
245 std::vector<int> calculateClickPosition(
int x,
int y);
246 std::vector<int> calculateClickPositionMultiline(
int x,
int y);
247 std::vector<int> calculateCursorPositionMultiline(
int x,
int y);
248 void calculateLinePositionMultiline(
int x,
int y);
249 std::vector<int> calculateLetterPosition(
int letterCharNo);
250 std::vector<int> calculateAllLetterPositions();
251 void calculateLines();
252 int calculateLastUtf();
253 int calculateCharNoFromUtf(
int letterUtfNo);
254 int calculateCharNum(std::string str);
255 int findFirstSpace(
int lineend);
256 void startSelection();
257 std::vector<short> readString(
const std::string& str);
258 bool isLetter(
char c);
259 bool isNumber(
char c);
260 void findCursorPosition();
261 void findCursorPositionPassword();
262 void calculateLineCount();
264 int selectionposchar1, selectionposchar2;
265 int selectionposx1, selectionposx2;
266 int selectionposutf1, selectionposutf2;
267 int selectionboxx1, selectionboxx2, selectionboxw;
268 bool shiftpressed, ctrlpressed, commandpressed;
269 bool ctrlcpressed, ctrlvpressed, ctrlxpressed, ctrlapressed, ctrlzpressed;
270 bool commandcpressed, commandvpressed, commandxpressed, commandapressed, commandzpressed;
272 long clicktime, previousclicktime, firstclicktime, clicktimediff;
273 bool isdoubleclicked, istripleclicked;
279 bool rowsnumexceeded;
280 int currentline, linecount, lastdrawnline;
283 std::vector<std::string> lines;
284 std::vector<int> lineendchar;
285 int leftlimit, rightlimit, toplimit, bottomlimit;
289 bool isbackgroundenabled;
292 bool boxshrinked, boxexpanded;
293 bool arrowkeypressed;
297 int textalignmentamount;
303 int widthAdjusmentDelay;
306 std::stack<std::string> undostack;
307 std::stack<int> cursorposxstack, cursorposystack, cursorposcharstack, cursorposutfstack;
308 std::stack<int> firstutfstack, firstcharstack, firstposxstack;
309 std::stack<int> currentlinestack, lastdrawnlinestack,linecountstack;
Definition gGUITextbox.h:46
int getCursorPreviousPosUTF()
void setSize(int width, int height)
int getCursor(int x, int y)
void setLineCount(int linecount)
virtual void set(gBaseApp *root, gBaseGUIObject *topParentGUIObject, gBaseGUIObject *parentGUIObject, int parentSlotLineNo, int parentSlotColumnNo, int x, int y, int w, int h)
void setEditMode(bool editMode)
void setDisabled(bool isDisabled)
bool isBackgroundEnabled()
void mouseReleased(int x, int y, int button)
void mouseDragged(int x, int y, int button)
void setLineTopMargin(int linetopmargin)
int calculateContentHeight()
void keyReleased(int key)
void setPassword(bool isPassword)
void setText(const std::string &text)
void mousePressed(int x, int y, int button)
void setNumeric(bool isNumeric)
void setEditable(bool isEditable)
void setTextFont(gFont *textFont)
void setTextAlignment(int textAlignment, float cellW, int initX)
void enableBackground(bool isEnabled)
void addLeftMargin(int left)
void setTextColor(gColor *textColor)
void charPressed(unsigned int codepoint)
void enableVerticalMargin(bool isAligned)
void setFirstY(int firsty)
void setFirstX(int firstx)
void addTopMargin(int top)
void setCursorPosX(int cursorPosX, int length)