1 /** 2 Multiline text editing control. 3 4 Copyright: 5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. 6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) 7 Copyright (c) 2017-2018 Godot-D contributors 8 9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License) 10 11 12 */ 13 module godot.textedit; 14 import std.meta : AliasSeq, staticIndexOf; 15 import std.traits : Unqual; 16 import godot.d.meta; 17 import godot.core; 18 import godot.c; 19 import godot.d.bind; 20 import godot.d.reference; 21 import godot.object; 22 import godot.classdb; 23 import godot.control; 24 import godot.inputevent; 25 import godot.popupmenu; 26 import godot.canvasitem; 27 import godot.node; 28 /** 29 Multiline text editing control. 30 31 TextEdit is meant for editing large, multiline text. It also has facilities for editing code, such as syntax highlighting support and multiple levels of undo/redo. 32 */ 33 @GodotBaseClass struct TextEdit 34 { 35 enum string _GODOT_internal_name = "TextEdit"; 36 public: 37 @nogc nothrow: 38 union { godot_object _godot_object; Control _GODOT_base; } 39 alias _GODOT_base this; 40 alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses); 41 package(godot) __gshared bool _classBindingInitialized = false; 42 package(godot) static struct _classBinding 43 { 44 __gshared: 45 @GodotName("_gui_input") GodotMethod!(void, InputEvent) _guiInput; 46 @GodotName("_scroll_moved") GodotMethod!(void, double) _scrollMoved; 47 @GodotName("_cursor_changed_emit") GodotMethod!(void) _cursorChangedEmit; 48 @GodotName("_text_changed_emit") GodotMethod!(void) _textChangedEmit; 49 @GodotName("_push_current_op") GodotMethod!(void) _pushCurrentOp; 50 @GodotName("_click_selection_held") GodotMethod!(void) _clickSelectionHeld; 51 @GodotName("_toggle_draw_caret") GodotMethod!(void) _toggleDrawCaret; 52 @GodotName("_v_scroll_input") GodotMethod!(void) _vScrollInput; 53 @GodotName("set_text") GodotMethod!(void, String) setText; 54 @GodotName("insert_text_at_cursor") GodotMethod!(void, String) insertTextAtCursor; 55 @GodotName("get_line_count") GodotMethod!(long) getLineCount; 56 @GodotName("get_text") GodotMethod!(String) getText; 57 @GodotName("get_line") GodotMethod!(String, long) getLine; 58 @GodotName("cursor_set_column") GodotMethod!(void, long, bool) cursorSetColumn; 59 @GodotName("cursor_set_line") GodotMethod!(void, long, bool, bool, long) cursorSetLine; 60 @GodotName("cursor_get_column") GodotMethod!(long) cursorGetColumn; 61 @GodotName("cursor_get_line") GodotMethod!(long) cursorGetLine; 62 @GodotName("cursor_set_blink_enabled") GodotMethod!(void, bool) cursorSetBlinkEnabled; 63 @GodotName("cursor_get_blink_enabled") GodotMethod!(bool) cursorGetBlinkEnabled; 64 @GodotName("cursor_set_blink_speed") GodotMethod!(void, double) cursorSetBlinkSpeed; 65 @GodotName("cursor_get_blink_speed") GodotMethod!(double) cursorGetBlinkSpeed; 66 @GodotName("cursor_set_block_mode") GodotMethod!(void, bool) cursorSetBlockMode; 67 @GodotName("cursor_is_block_mode") GodotMethod!(bool) cursorIsBlockMode; 68 @GodotName("set_right_click_moves_caret") GodotMethod!(void, bool) setRightClickMovesCaret; 69 @GodotName("is_right_click_moving_caret") GodotMethod!(bool) isRightClickMovingCaret; 70 @GodotName("set_readonly") GodotMethod!(void, bool) setReadonly; 71 @GodotName("is_readonly") GodotMethod!(bool) isReadonly; 72 @GodotName("set_wrap_enabled") GodotMethod!(void, bool) setWrapEnabled; 73 @GodotName("is_wrap_enabled") GodotMethod!(bool) isWrapEnabled; 74 @GodotName("set_context_menu_enabled") GodotMethod!(void, bool) setContextMenuEnabled; 75 @GodotName("is_context_menu_enabled") GodotMethod!(bool) isContextMenuEnabled; 76 @GodotName("cut") GodotMethod!(void) cut; 77 @GodotName("copy") GodotMethod!(void) copy; 78 @GodotName("paste") GodotMethod!(void) paste; 79 @GodotName("select") GodotMethod!(void, long, long, long, long) select; 80 @GodotName("select_all") GodotMethod!(void) selectAll; 81 @GodotName("deselect") GodotMethod!(void) deselect; 82 @GodotName("is_selection_active") GodotMethod!(bool) isSelectionActive; 83 @GodotName("get_selection_from_line") GodotMethod!(long) getSelectionFromLine; 84 @GodotName("get_selection_from_column") GodotMethod!(long) getSelectionFromColumn; 85 @GodotName("get_selection_to_line") GodotMethod!(long) getSelectionToLine; 86 @GodotName("get_selection_to_column") GodotMethod!(long) getSelectionToColumn; 87 @GodotName("get_selection_text") GodotMethod!(String) getSelectionText; 88 @GodotName("get_word_under_cursor") GodotMethod!(String) getWordUnderCursor; 89 @GodotName("search") GodotMethod!(PoolIntArray, String, long, long, long) search; 90 @GodotName("undo") GodotMethod!(void) undo; 91 @GodotName("redo") GodotMethod!(void) redo; 92 @GodotName("clear_undo_history") GodotMethod!(void) clearUndoHistory; 93 @GodotName("set_show_line_numbers") GodotMethod!(void, bool) setShowLineNumbers; 94 @GodotName("is_show_line_numbers_enabled") GodotMethod!(bool) isShowLineNumbersEnabled; 95 @GodotName("set_breakpoint_gutter_enabled") GodotMethod!(void, bool) setBreakpointGutterEnabled; 96 @GodotName("is_breakpoint_gutter_enabled") GodotMethod!(bool) isBreakpointGutterEnabled; 97 @GodotName("set_hiding_enabled") GodotMethod!(void, long) setHidingEnabled; 98 @GodotName("is_hiding_enabled") GodotMethod!(long) isHidingEnabled; 99 @GodotName("set_line_as_hidden") GodotMethod!(void, long, bool) setLineAsHidden; 100 @GodotName("is_line_hidden") GodotMethod!(bool, long) isLineHidden; 101 @GodotName("fold_all_lines") GodotMethod!(void) foldAllLines; 102 @GodotName("unhide_all_lines") GodotMethod!(void) unhideAllLines; 103 @GodotName("fold_line") GodotMethod!(void, long) foldLine; 104 @GodotName("unfold_line") GodotMethod!(void, long) unfoldLine; 105 @GodotName("toggle_fold_line") GodotMethod!(void, long) toggleFoldLine; 106 @GodotName("can_fold") GodotMethod!(bool, long) canFold; 107 @GodotName("is_folded") GodotMethod!(bool, long) isFolded; 108 @GodotName("set_highlight_all_occurrences") GodotMethod!(void, bool) setHighlightAllOccurrences; 109 @GodotName("is_highlight_all_occurrences_enabled") GodotMethod!(bool) isHighlightAllOccurrencesEnabled; 110 @GodotName("set_override_selected_font_color") GodotMethod!(void, bool) setOverrideSelectedFontColor; 111 @GodotName("is_overriding_selected_font_color") GodotMethod!(bool) isOverridingSelectedFontColor; 112 @GodotName("set_syntax_coloring") GodotMethod!(void, bool) setSyntaxColoring; 113 @GodotName("is_syntax_coloring_enabled") GodotMethod!(bool) isSyntaxColoringEnabled; 114 @GodotName("set_highlight_current_line") GodotMethod!(void, bool) setHighlightCurrentLine; 115 @GodotName("is_highlight_current_line_enabled") GodotMethod!(bool) isHighlightCurrentLineEnabled; 116 @GodotName("set_smooth_scroll_enable") GodotMethod!(void, bool) setSmoothScrollEnable; 117 @GodotName("is_smooth_scroll_enabled") GodotMethod!(bool) isSmoothScrollEnabled; 118 @GodotName("set_v_scroll_speed") GodotMethod!(void, double) setVScrollSpeed; 119 @GodotName("get_v_scroll_speed") GodotMethod!(double) getVScrollSpeed; 120 @GodotName("add_keyword_color") GodotMethod!(void, String, Color) addKeywordColor; 121 @GodotName("has_keyword_color") GodotMethod!(bool, String) hasKeywordColor; 122 @GodotName("get_keyword_color") GodotMethod!(Color, String) getKeywordColor; 123 @GodotName("add_color_region") GodotMethod!(void, String, String, Color, bool) addColorRegion; 124 @GodotName("clear_colors") GodotMethod!(void) clearColors; 125 @GodotName("menu_option") GodotMethod!(void, long) menuOption; 126 @GodotName("get_menu") GodotMethod!(PopupMenu) getMenu; 127 @GodotName("get_breakpoints") GodotMethod!(Array) getBreakpoints; 128 @GodotName("remove_breakpoints") GodotMethod!(void) removeBreakpoints; 129 } 130 bool opEquals(in TextEdit other) const { return _godot_object.ptr is other._godot_object.ptr; } 131 TextEdit opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; } 132 bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; } 133 mixin baseCasts; 134 static TextEdit _new() 135 { 136 static godot_class_constructor constructor; 137 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("TextEdit"); 138 if(constructor is null) return typeof(this).init; 139 return cast(TextEdit)(constructor()); 140 } 141 @disable new(size_t s); 142 /// 143 enum SearchFlags : int 144 { 145 /** 146 Match case when searching. 147 */ 148 searchMatchCase = 1, 149 /** 150 Match whole words when searching. 151 */ 152 searchWholeWords = 2, 153 /** 154 Search from end to beginning. 155 */ 156 searchBackwards = 4, 157 } 158 /// 159 enum MenuItems : int 160 { 161 /** 162 Cuts (Copies and clears) the selected text. 163 */ 164 menuCut = 0, 165 /** 166 Copies the selected text. 167 */ 168 menuCopy = 1, 169 /** 170 Pastes the clipboard text over the selected text (or at the cursor's position). 171 */ 172 menuPaste = 2, 173 /** 174 Erases the whole $(D TextEdit) text. 175 */ 176 menuClear = 3, 177 /** 178 Selects the whole $(D TextEdit) text. 179 */ 180 menuSelectAll = 4, 181 /** 182 Undoes the previous action. 183 */ 184 menuUndo = 5, 185 /** 186 187 */ 188 menuMax = 6, 189 } 190 /// 191 enum Constants : int 192 { 193 menuCut = 0, 194 menuCopy = 1, 195 searchMatchCase = 1, 196 searchWholeWords = 2, 197 menuPaste = 2, 198 menuClear = 3, 199 searchBackwards = 4, 200 menuSelectAll = 4, 201 menuUndo = 5, 202 menuMax = 6, 203 } 204 /** 205 206 */ 207 void _guiInput(InputEvent arg0) 208 { 209 Array _GODOT_args = Array.empty_array; 210 _GODOT_args.append(arg0); 211 String _GODOT_method_name = String("_gui_input"); 212 this.callv(_GODOT_method_name, _GODOT_args); 213 } 214 /** 215 216 */ 217 void _scrollMoved(in double arg0) 218 { 219 Array _GODOT_args = Array.empty_array; 220 _GODOT_args.append(arg0); 221 String _GODOT_method_name = String("_scroll_moved"); 222 this.callv(_GODOT_method_name, _GODOT_args); 223 } 224 /** 225 226 */ 227 void _cursorChangedEmit() 228 { 229 Array _GODOT_args = Array.empty_array; 230 String _GODOT_method_name = String("_cursor_changed_emit"); 231 this.callv(_GODOT_method_name, _GODOT_args); 232 } 233 /** 234 235 */ 236 void _textChangedEmit() 237 { 238 Array _GODOT_args = Array.empty_array; 239 String _GODOT_method_name = String("_text_changed_emit"); 240 this.callv(_GODOT_method_name, _GODOT_args); 241 } 242 /** 243 244 */ 245 void _pushCurrentOp() 246 { 247 Array _GODOT_args = Array.empty_array; 248 String _GODOT_method_name = String("_push_current_op"); 249 this.callv(_GODOT_method_name, _GODOT_args); 250 } 251 /** 252 253 */ 254 void _clickSelectionHeld() 255 { 256 Array _GODOT_args = Array.empty_array; 257 String _GODOT_method_name = String("_click_selection_held"); 258 this.callv(_GODOT_method_name, _GODOT_args); 259 } 260 /** 261 262 */ 263 void _toggleDrawCaret() 264 { 265 Array _GODOT_args = Array.empty_array; 266 String _GODOT_method_name = String("_toggle_draw_caret"); 267 this.callv(_GODOT_method_name, _GODOT_args); 268 } 269 /** 270 271 */ 272 void _vScrollInput() 273 { 274 Array _GODOT_args = Array.empty_array; 275 String _GODOT_method_name = String("_v_scroll_input"); 276 this.callv(_GODOT_method_name, _GODOT_args); 277 } 278 /** 279 280 */ 281 void setText(StringArg0)(in StringArg0 text) 282 { 283 checkClassBinding!(typeof(this))(); 284 ptrcall!(void)(_classBinding.setText, _godot_object, text); 285 } 286 /** 287 Insert a given text at the cursor position. 288 */ 289 void insertTextAtCursor(StringArg0)(in StringArg0 text) 290 { 291 checkClassBinding!(typeof(this))(); 292 ptrcall!(void)(_classBinding.insertTextAtCursor, _godot_object, text); 293 } 294 /** 295 Return the amount of total lines in the text. 296 */ 297 long getLineCount() const 298 { 299 checkClassBinding!(typeof(this))(); 300 return ptrcall!(long)(_classBinding.getLineCount, _godot_object); 301 } 302 /** 303 304 */ 305 String getText() 306 { 307 checkClassBinding!(typeof(this))(); 308 return ptrcall!(String)(_classBinding.getText, _godot_object); 309 } 310 /** 311 Return the text of a specific line. 312 */ 313 String getLine(in long line) const 314 { 315 checkClassBinding!(typeof(this))(); 316 return ptrcall!(String)(_classBinding.getLine, _godot_object, line); 317 } 318 /** 319 320 */ 321 void cursorSetColumn(in long column, in bool adjust_viewport = true) 322 { 323 checkClassBinding!(typeof(this))(); 324 ptrcall!(void)(_classBinding.cursorSetColumn, _godot_object, column, adjust_viewport); 325 } 326 /** 327 328 */ 329 void cursorSetLine(in long line, in bool adjust_viewport = true, in bool can_be_hidden = true, in long wrap_index = 0) 330 { 331 checkClassBinding!(typeof(this))(); 332 ptrcall!(void)(_classBinding.cursorSetLine, _godot_object, line, adjust_viewport, can_be_hidden, wrap_index); 333 } 334 /** 335 Return the column the editing cursor is at. 336 */ 337 long cursorGetColumn() const 338 { 339 checkClassBinding!(typeof(this))(); 340 return ptrcall!(long)(_classBinding.cursorGetColumn, _godot_object); 341 } 342 /** 343 Return the line the editing cursor is at. 344 */ 345 long cursorGetLine() const 346 { 347 checkClassBinding!(typeof(this))(); 348 return ptrcall!(long)(_classBinding.cursorGetLine, _godot_object); 349 } 350 /** 351 352 */ 353 void cursorSetBlinkEnabled(in bool enable) 354 { 355 checkClassBinding!(typeof(this))(); 356 ptrcall!(void)(_classBinding.cursorSetBlinkEnabled, _godot_object, enable); 357 } 358 /** 359 360 */ 361 bool cursorGetBlinkEnabled() const 362 { 363 checkClassBinding!(typeof(this))(); 364 return ptrcall!(bool)(_classBinding.cursorGetBlinkEnabled, _godot_object); 365 } 366 /** 367 368 */ 369 void cursorSetBlinkSpeed(in double blink_speed) 370 { 371 checkClassBinding!(typeof(this))(); 372 ptrcall!(void)(_classBinding.cursorSetBlinkSpeed, _godot_object, blink_speed); 373 } 374 /** 375 376 */ 377 double cursorGetBlinkSpeed() const 378 { 379 checkClassBinding!(typeof(this))(); 380 return ptrcall!(double)(_classBinding.cursorGetBlinkSpeed, _godot_object); 381 } 382 /** 383 384 */ 385 void cursorSetBlockMode(in bool enable) 386 { 387 checkClassBinding!(typeof(this))(); 388 ptrcall!(void)(_classBinding.cursorSetBlockMode, _godot_object, enable); 389 } 390 /** 391 392 */ 393 bool cursorIsBlockMode() const 394 { 395 checkClassBinding!(typeof(this))(); 396 return ptrcall!(bool)(_classBinding.cursorIsBlockMode, _godot_object); 397 } 398 /** 399 400 */ 401 void setRightClickMovesCaret(in bool enable) 402 { 403 checkClassBinding!(typeof(this))(); 404 ptrcall!(void)(_classBinding.setRightClickMovesCaret, _godot_object, enable); 405 } 406 /** 407 408 */ 409 bool isRightClickMovingCaret() const 410 { 411 checkClassBinding!(typeof(this))(); 412 return ptrcall!(bool)(_classBinding.isRightClickMovingCaret, _godot_object); 413 } 414 /** 415 416 */ 417 void setReadonly(in bool enable) 418 { 419 checkClassBinding!(typeof(this))(); 420 ptrcall!(void)(_classBinding.setReadonly, _godot_object, enable); 421 } 422 /** 423 424 */ 425 bool isReadonly() const 426 { 427 checkClassBinding!(typeof(this))(); 428 return ptrcall!(bool)(_classBinding.isReadonly, _godot_object); 429 } 430 /** 431 432 */ 433 void setWrapEnabled(in bool enable) 434 { 435 checkClassBinding!(typeof(this))(); 436 ptrcall!(void)(_classBinding.setWrapEnabled, _godot_object, enable); 437 } 438 /** 439 440 */ 441 bool isWrapEnabled() const 442 { 443 checkClassBinding!(typeof(this))(); 444 return ptrcall!(bool)(_classBinding.isWrapEnabled, _godot_object); 445 } 446 /** 447 448 */ 449 void setContextMenuEnabled(in bool enable) 450 { 451 checkClassBinding!(typeof(this))(); 452 ptrcall!(void)(_classBinding.setContextMenuEnabled, _godot_object, enable); 453 } 454 /** 455 456 */ 457 bool isContextMenuEnabled() 458 { 459 checkClassBinding!(typeof(this))(); 460 return ptrcall!(bool)(_classBinding.isContextMenuEnabled, _godot_object); 461 } 462 /** 463 Cut the current selection. 464 */ 465 void cut() 466 { 467 checkClassBinding!(typeof(this))(); 468 ptrcall!(void)(_classBinding.cut, _godot_object); 469 } 470 /** 471 Copy the current selection. 472 */ 473 void copy() 474 { 475 checkClassBinding!(typeof(this))(); 476 ptrcall!(void)(_classBinding.copy, _godot_object); 477 } 478 /** 479 Paste the current selection. 480 */ 481 void paste() 482 { 483 checkClassBinding!(typeof(this))(); 484 ptrcall!(void)(_classBinding.paste, _godot_object); 485 } 486 /** 487 Perform selection, from line/column to line/column. 488 */ 489 void select(in long from_line, in long from_column, in long to_line, in long to_column) 490 { 491 checkClassBinding!(typeof(this))(); 492 ptrcall!(void)(_classBinding.select, _godot_object, from_line, from_column, to_line, to_column); 493 } 494 /** 495 Select all the text. 496 */ 497 void selectAll() 498 { 499 checkClassBinding!(typeof(this))(); 500 ptrcall!(void)(_classBinding.selectAll, _godot_object); 501 } 502 /** 503 Clears the current selection. 504 */ 505 void deselect() 506 { 507 checkClassBinding!(typeof(this))(); 508 ptrcall!(void)(_classBinding.deselect, _godot_object); 509 } 510 /** 511 Return true if the selection is active. 512 */ 513 bool isSelectionActive() const 514 { 515 checkClassBinding!(typeof(this))(); 516 return ptrcall!(bool)(_classBinding.isSelectionActive, _godot_object); 517 } 518 /** 519 Return the selection begin line. 520 */ 521 long getSelectionFromLine() const 522 { 523 checkClassBinding!(typeof(this))(); 524 return ptrcall!(long)(_classBinding.getSelectionFromLine, _godot_object); 525 } 526 /** 527 Return the selection begin column. 528 */ 529 long getSelectionFromColumn() const 530 { 531 checkClassBinding!(typeof(this))(); 532 return ptrcall!(long)(_classBinding.getSelectionFromColumn, _godot_object); 533 } 534 /** 535 Return the selection end line. 536 */ 537 long getSelectionToLine() const 538 { 539 checkClassBinding!(typeof(this))(); 540 return ptrcall!(long)(_classBinding.getSelectionToLine, _godot_object); 541 } 542 /** 543 Return the selection end column. 544 */ 545 long getSelectionToColumn() const 546 { 547 checkClassBinding!(typeof(this))(); 548 return ptrcall!(long)(_classBinding.getSelectionToColumn, _godot_object); 549 } 550 /** 551 Return the text inside the selection. 552 */ 553 String getSelectionText() const 554 { 555 checkClassBinding!(typeof(this))(); 556 return ptrcall!(String)(_classBinding.getSelectionText, _godot_object); 557 } 558 /** 559 560 */ 561 String getWordUnderCursor() const 562 { 563 checkClassBinding!(typeof(this))(); 564 return ptrcall!(String)(_classBinding.getWordUnderCursor, _godot_object); 565 } 566 /** 567 Perform a search inside the text. Search flags can be specified in the SEARCH_* enum. 568 */ 569 PoolIntArray search(StringArg0)(in StringArg0 key, in long flags, in long from_line, in long from_column) const 570 { 571 checkClassBinding!(typeof(this))(); 572 return ptrcall!(PoolIntArray)(_classBinding.search, _godot_object, key, flags, from_line, from_column); 573 } 574 /** 575 Perform undo operation. 576 */ 577 void undo() 578 { 579 checkClassBinding!(typeof(this))(); 580 ptrcall!(void)(_classBinding.undo, _godot_object); 581 } 582 /** 583 Perform redo operation. 584 */ 585 void redo() 586 { 587 checkClassBinding!(typeof(this))(); 588 ptrcall!(void)(_classBinding.redo, _godot_object); 589 } 590 /** 591 Clear the undo history. 592 */ 593 void clearUndoHistory() 594 { 595 checkClassBinding!(typeof(this))(); 596 ptrcall!(void)(_classBinding.clearUndoHistory, _godot_object); 597 } 598 /** 599 600 */ 601 void setShowLineNumbers(in bool enable) 602 { 603 checkClassBinding!(typeof(this))(); 604 ptrcall!(void)(_classBinding.setShowLineNumbers, _godot_object, enable); 605 } 606 /** 607 608 */ 609 bool isShowLineNumbersEnabled() const 610 { 611 checkClassBinding!(typeof(this))(); 612 return ptrcall!(bool)(_classBinding.isShowLineNumbersEnabled, _godot_object); 613 } 614 /** 615 616 */ 617 void setBreakpointGutterEnabled(in bool enable) 618 { 619 checkClassBinding!(typeof(this))(); 620 ptrcall!(void)(_classBinding.setBreakpointGutterEnabled, _godot_object, enable); 621 } 622 /** 623 624 */ 625 bool isBreakpointGutterEnabled() const 626 { 627 checkClassBinding!(typeof(this))(); 628 return ptrcall!(bool)(_classBinding.isBreakpointGutterEnabled, _godot_object); 629 } 630 /** 631 632 */ 633 void setHidingEnabled(in long enable) 634 { 635 checkClassBinding!(typeof(this))(); 636 ptrcall!(void)(_classBinding.setHidingEnabled, _godot_object, enable); 637 } 638 /** 639 640 */ 641 long isHidingEnabled() const 642 { 643 checkClassBinding!(typeof(this))(); 644 return ptrcall!(long)(_classBinding.isHidingEnabled, _godot_object); 645 } 646 /** 647 648 */ 649 void setLineAsHidden(in long line, in bool enable) 650 { 651 checkClassBinding!(typeof(this))(); 652 ptrcall!(void)(_classBinding.setLineAsHidden, _godot_object, line, enable); 653 } 654 /** 655 656 */ 657 bool isLineHidden(in long line) const 658 { 659 checkClassBinding!(typeof(this))(); 660 return ptrcall!(bool)(_classBinding.isLineHidden, _godot_object, line); 661 } 662 /** 663 664 */ 665 void foldAllLines() 666 { 667 checkClassBinding!(typeof(this))(); 668 ptrcall!(void)(_classBinding.foldAllLines, _godot_object); 669 } 670 /** 671 672 */ 673 void unhideAllLines() 674 { 675 checkClassBinding!(typeof(this))(); 676 ptrcall!(void)(_classBinding.unhideAllLines, _godot_object); 677 } 678 /** 679 680 */ 681 void foldLine(in long line) 682 { 683 checkClassBinding!(typeof(this))(); 684 ptrcall!(void)(_classBinding.foldLine, _godot_object, line); 685 } 686 /** 687 688 */ 689 void unfoldLine(in long line) 690 { 691 checkClassBinding!(typeof(this))(); 692 ptrcall!(void)(_classBinding.unfoldLine, _godot_object, line); 693 } 694 /** 695 Toggle the folding of the code block at the given line. 696 */ 697 void toggleFoldLine(in long line) 698 { 699 checkClassBinding!(typeof(this))(); 700 ptrcall!(void)(_classBinding.toggleFoldLine, _godot_object, line); 701 } 702 /** 703 704 */ 705 bool canFold(in long line) const 706 { 707 checkClassBinding!(typeof(this))(); 708 return ptrcall!(bool)(_classBinding.canFold, _godot_object, line); 709 } 710 /** 711 712 */ 713 bool isFolded(in long line) const 714 { 715 checkClassBinding!(typeof(this))(); 716 return ptrcall!(bool)(_classBinding.isFolded, _godot_object, line); 717 } 718 /** 719 720 */ 721 void setHighlightAllOccurrences(in bool enable) 722 { 723 checkClassBinding!(typeof(this))(); 724 ptrcall!(void)(_classBinding.setHighlightAllOccurrences, _godot_object, enable); 725 } 726 /** 727 728 */ 729 bool isHighlightAllOccurrencesEnabled() const 730 { 731 checkClassBinding!(typeof(this))(); 732 return ptrcall!(bool)(_classBinding.isHighlightAllOccurrencesEnabled, _godot_object); 733 } 734 /** 735 736 */ 737 void setOverrideSelectedFontColor(in bool _override) 738 { 739 checkClassBinding!(typeof(this))(); 740 ptrcall!(void)(_classBinding.setOverrideSelectedFontColor, _godot_object, _override); 741 } 742 /** 743 744 */ 745 bool isOverridingSelectedFontColor() const 746 { 747 checkClassBinding!(typeof(this))(); 748 return ptrcall!(bool)(_classBinding.isOverridingSelectedFontColor, _godot_object); 749 } 750 /** 751 752 */ 753 void setSyntaxColoring(in bool enable) 754 { 755 checkClassBinding!(typeof(this))(); 756 ptrcall!(void)(_classBinding.setSyntaxColoring, _godot_object, enable); 757 } 758 /** 759 760 */ 761 bool isSyntaxColoringEnabled() const 762 { 763 checkClassBinding!(typeof(this))(); 764 return ptrcall!(bool)(_classBinding.isSyntaxColoringEnabled, _godot_object); 765 } 766 /** 767 768 */ 769 void setHighlightCurrentLine(in bool enabled) 770 { 771 checkClassBinding!(typeof(this))(); 772 ptrcall!(void)(_classBinding.setHighlightCurrentLine, _godot_object, enabled); 773 } 774 /** 775 776 */ 777 bool isHighlightCurrentLineEnabled() const 778 { 779 checkClassBinding!(typeof(this))(); 780 return ptrcall!(bool)(_classBinding.isHighlightCurrentLineEnabled, _godot_object); 781 } 782 /** 783 784 */ 785 void setSmoothScrollEnable(in bool enable) 786 { 787 checkClassBinding!(typeof(this))(); 788 ptrcall!(void)(_classBinding.setSmoothScrollEnable, _godot_object, enable); 789 } 790 /** 791 792 */ 793 bool isSmoothScrollEnabled() const 794 { 795 checkClassBinding!(typeof(this))(); 796 return ptrcall!(bool)(_classBinding.isSmoothScrollEnabled, _godot_object); 797 } 798 /** 799 800 */ 801 void setVScrollSpeed(in double speed) 802 { 803 checkClassBinding!(typeof(this))(); 804 ptrcall!(void)(_classBinding.setVScrollSpeed, _godot_object, speed); 805 } 806 /** 807 808 */ 809 double getVScrollSpeed() const 810 { 811 checkClassBinding!(typeof(this))(); 812 return ptrcall!(double)(_classBinding.getVScrollSpeed, _godot_object); 813 } 814 /** 815 Add a keyword and its color. 816 */ 817 void addKeywordColor(StringArg0)(in StringArg0 keyword, in Color color) 818 { 819 checkClassBinding!(typeof(this))(); 820 ptrcall!(void)(_classBinding.addKeywordColor, _godot_object, keyword, color); 821 } 822 /** 823 824 */ 825 bool hasKeywordColor(StringArg0)(in StringArg0 keyword) const 826 { 827 checkClassBinding!(typeof(this))(); 828 return ptrcall!(bool)(_classBinding.hasKeywordColor, _godot_object, keyword); 829 } 830 /** 831 832 */ 833 Color getKeywordColor(StringArg0)(in StringArg0 keyword) const 834 { 835 checkClassBinding!(typeof(this))(); 836 return ptrcall!(Color)(_classBinding.getKeywordColor, _godot_object, keyword); 837 } 838 /** 839 Add color region (given the delimiters) and its colors. 840 */ 841 void addColorRegion(StringArg0, StringArg1)(in StringArg0 begin_key, in StringArg1 end_key, in Color color, in bool line_only = false) 842 { 843 checkClassBinding!(typeof(this))(); 844 ptrcall!(void)(_classBinding.addColorRegion, _godot_object, begin_key, end_key, color, line_only); 845 } 846 /** 847 Clear all the syntax coloring information. 848 */ 849 void clearColors() 850 { 851 checkClassBinding!(typeof(this))(); 852 ptrcall!(void)(_classBinding.clearColors, _godot_object); 853 } 854 /** 855 856 */ 857 void menuOption(in long option) 858 { 859 checkClassBinding!(typeof(this))(); 860 ptrcall!(void)(_classBinding.menuOption, _godot_object, option); 861 } 862 /** 863 864 */ 865 PopupMenu getMenu() const 866 { 867 checkClassBinding!(typeof(this))(); 868 return ptrcall!(PopupMenu)(_classBinding.getMenu, _godot_object); 869 } 870 /** 871 Return an array containing the line number of each breakpoint. 872 */ 873 Array getBreakpoints() const 874 { 875 checkClassBinding!(typeof(this))(); 876 return ptrcall!(Array)(_classBinding.getBreakpoints, _godot_object); 877 } 878 /** 879 Removes all the breakpoints (without firing "breakpoint_toggled" signal). 880 */ 881 void removeBreakpoints() 882 { 883 checkClassBinding!(typeof(this))(); 884 ptrcall!(void)(_classBinding.removeBreakpoints, _godot_object); 885 } 886 /** 887 String value of the $(D TextEdit). 888 */ 889 @property String text() 890 { 891 return getText(); 892 } 893 /// ditto 894 @property void text(String v) 895 { 896 setText(v); 897 } 898 /** 899 If `true` read-only mode is enabled. Existing text cannot be modified and new text cannot be added. 900 */ 901 @property bool readonly() 902 { 903 return isReadonly(); 904 } 905 /// ditto 906 @property void readonly(bool v) 907 { 908 setReadonly(v); 909 } 910 /** 911 If `true` the line containing the cursor is highlighted. 912 */ 913 @property bool highlightCurrentLine() 914 { 915 return isHighlightCurrentLineEnabled(); 916 } 917 /// ditto 918 @property void highlightCurrentLine(bool v) 919 { 920 setHighlightCurrentLine(v); 921 } 922 /** 923 924 */ 925 @property bool syntaxHighlighting() 926 { 927 return isSyntaxColoringEnabled(); 928 } 929 /// ditto 930 @property void syntaxHighlighting(bool v) 931 { 932 setSyntaxColoring(v); 933 } 934 /** 935 If `true` line numbers are displayed to the left of the text. 936 */ 937 @property bool showLineNumbers() 938 { 939 return isShowLineNumbersEnabled(); 940 } 941 /// ditto 942 @property void showLineNumbers(bool v) 943 { 944 setShowLineNumbers(v); 945 } 946 /** 947 If `true` the breakpoint gutter is visible. 948 */ 949 @property bool breakpointGutter() 950 { 951 return isBreakpointGutterEnabled(); 952 } 953 /// ditto 954 @property void breakpointGutter(bool v) 955 { 956 setBreakpointGutterEnabled(v); 957 } 958 /** 959 960 */ 961 @property bool highlightAllOccurrences() 962 { 963 return isHighlightAllOccurrencesEnabled(); 964 } 965 /// ditto 966 @property void highlightAllOccurrences(bool v) 967 { 968 setHighlightAllOccurrences(v); 969 } 970 /** 971 972 */ 973 @property bool overrideSelectedFontColor() 974 { 975 return isOverridingSelectedFontColor(); 976 } 977 /// ditto 978 @property void overrideSelectedFontColor(bool v) 979 { 980 setOverrideSelectedFontColor(v); 981 } 982 /** 983 If `true` a right click displays the context menu. 984 */ 985 @property bool contextMenuEnabled() 986 { 987 return isContextMenuEnabled(); 988 } 989 /// ditto 990 @property void contextMenuEnabled(bool v) 991 { 992 setContextMenuEnabled(v); 993 } 994 /** 995 996 */ 997 @property bool smoothScrolling() 998 { 999 return isSmoothScrollEnabled(); 1000 } 1001 /// ditto 1002 @property void smoothScrolling(bool v) 1003 { 1004 setSmoothScrollEnable(v); 1005 } 1006 /** 1007 If `true`, enables text wrapping when it goes beyond he edge of what is visible. 1008 */ 1009 @property double vScrollSpeed() 1010 { 1011 return getVScrollSpeed(); 1012 } 1013 /// ditto 1014 @property void vScrollSpeed(double v) 1015 { 1016 setVScrollSpeed(v); 1017 } 1018 /** 1019 1020 */ 1021 @property long hidingEnabled() 1022 { 1023 return isHidingEnabled(); 1024 } 1025 /// ditto 1026 @property void hidingEnabled(long v) 1027 { 1028 setHidingEnabled(v); 1029 } 1030 /** 1031 1032 */ 1033 @property bool wrapEnabled() 1034 { 1035 return isWrapEnabled(); 1036 } 1037 /// ditto 1038 @property void wrapEnabled(bool v) 1039 { 1040 setWrapEnabled(v); 1041 } 1042 /** 1043 If `true` the caret displays as a rectangle. 1044 If `false` the caret displays as a bar. 1045 */ 1046 @property bool caretBlockMode() 1047 { 1048 return cursorIsBlockMode(); 1049 } 1050 /// ditto 1051 @property void caretBlockMode(bool v) 1052 { 1053 cursorSetBlockMode(v); 1054 } 1055 /** 1056 If `true` the caret (visual cursor) blinks. 1057 */ 1058 @property bool caretBlink() 1059 { 1060 return cursorGetBlinkEnabled(); 1061 } 1062 /// ditto 1063 @property void caretBlink(bool v) 1064 { 1065 cursorSetBlinkEnabled(v); 1066 } 1067 /** 1068 Duration (in seconds) of a caret's blinking cycle. 1069 */ 1070 @property double caretBlinkSpeed() 1071 { 1072 return cursorGetBlinkSpeed(); 1073 } 1074 /// ditto 1075 @property void caretBlinkSpeed(double v) 1076 { 1077 cursorSetBlinkSpeed(v); 1078 } 1079 /** 1080 If `true` a right click moves the cursor at the mouse position before displaying the context menu. 1081 If `false` the context menu disregards mouse location. 1082 */ 1083 @property bool caretMovingByRightClick() 1084 { 1085 return isRightClickMovingCaret(); 1086 } 1087 /// ditto 1088 @property void caretMovingByRightClick(bool v) 1089 { 1090 setRightClickMovesCaret(v); 1091 } 1092 }