📄 textp.h
字号:
/** * * $Id: TextP.h,v 1.1 2004/08/28 19:23:26 dannybackx Exp $ * * Copyright (C) 1995 Free Software Foundation, Inc. * Copyright (C) 1995-2001 LessTif Development Team * * This file is part of the GNU LessTif Library. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * **/#ifndef _XM_TEXTP_H#define _XM_TEXTP_H#include <Xm/PrimitiveP.h>#include <Xm/Text.h>#include <Xm/TextOutP.h>#include <Xm/TextInP.h>#ifdef __cplusplusextern "C" {#endiftypedef struct _InputRec *Input;typedef struct _OutputRec *Output;#define MAXINT INT_MAX#define NODELTA MAXINT#define TEXTWIDGETCLASS "Text"#define GetSrc(widget) (((XmTextWidget)(widget))->text.source)typedef struct { XmTextPosition start; Boolean changed; XmTextPosition changed_position; Boolean past_end; LineTableExtra extra;} LineRec, *Line;typedef struct _XmTextLineTableRec { unsigned int start_pos : 31, virt_line : 1;} XmTextLineTableRec, *XmTextLineTable;typedef struct { XmTextPosition from, to;} RangeRec;typedef struct { Cardinal number; Cardinal maximum; RangeRec *range;} Ranges;typedef struct { XmTextSource source; XtCallbackList activate_callback; XtCallbackList focus_callback; XtCallbackList losing_focus_callback; XtCallbackList value_changed_callback; XtCallbackList modify_verify_callback; XtCallbackList wcs_modify_verify_callback; XtCallbackList motion_verify_callback; XtCallbackList gain_primary_callback; XtCallbackList lose_primary_callback; char *value; wchar_t *wc_value; Dimension margin_height; Dimension margin_width; Dimension cursor_position_x; OutputCreateProc output_create; InputCreateProc input_create; XmTextPosition top_character; XmTextPosition bottom_position; XmTextPosition cursor_position; int max_length; int edit_mode; Boolean auto_show_cursor_position; Boolean editable; Boolean verify_bell; Boolean add_mode; Boolean traversed; Boolean in_redisplay; Boolean needs_redisplay; Boolean in_refigure_lines; Boolean needs_refigure_lines; Boolean in_setvalues; Boolean in_resize; Boolean in_expose; Boolean highlight_changed; Boolean pendingoff; char char_size; OnOrOff on_or_off; Output output; Input input; XmTextPosition first_position; XmTextPosition last_position; XmTextPosition forget_past; XmTextPosition force_display; XmTextPosition new_top; XmTextPosition last_top_char; XmTextPosition dest_position; int disable_depth; int pending_scroll; int total_lines; int top_line; int vsbar_scrolling; Cardinal number_lines; Cardinal maximum_lines; Line line; Ranges repaint; _XmHighlightData highlight; _XmHighlightData old_highlight; Widget inner_widget; XmTextLineTable line_table; unsigned int table_size; unsigned int table_index;} XmTextPart;/* Define the full instance record */typedef struct _XmTextRec { CorePart core; XmPrimitivePart primitive; XmTextPart text;} XmTextRec;/* Define class part structure */typedef struct { XtPointer extension;} XmTextClassPart;/* Define the full class record */typedef struct _XmTextClassRec { CoreClassPart core_class; XmPrimitiveClassPart primitive_class; XmTextClassPart text_class;} XmTextClassRec;/* External definition for class record */XMLIBEXPORT extern XmTextClassRec xmTextClassRec;/* Inner Widget: base object for the Output and Input "subparts". This really * is only to hold the values for resource specification. An Output and an * input object will be created later that will copy the information from * these records into their own. */typedef struct { OutputDataRec out; InputDataRec in;} XmTextInnerPart;/* Define the full instance record */typedef struct _XmTextInnerRec { ObjectPart object; XmTextInnerPart inner;} XmTextInnerRec;/* Define the full class record */typedef struct _XmTextInnerClassRec { ObjectClassPart object_class; XmTextClassPart text_src_class; /* just a dummy */} XmTextInnerClassRec;/* External definition for class record */XMLIBEXPORT extern XmTextInnerClassRec xmTextInnerClassRec;typedef struct _XmTextInnerRec *XmTextInnerWidget;XMLIBEXPORT extern int _XmTextGetTotalLines(Widget widget);XMLIBEXPORT extern XmTextLineTable _XmTextGetLineTable(Widget widget, int *total_lines);XMLIBEXPORT extern void _XmTextRealignLineTable(XmTextWidget widget, XmTextLineTable *temp_table, int *temp_table_size, register unsigned int cur_index, register XmTextPosition cur_start, register XmTextPosition cur_end);XMLIBEXPORT extern unsigned int _XmTextGetTableIndex(XmTextWidget widget, XmTextPosition pos);XMLIBEXPORT extern void _XmTextUpdateLineTable(Widget widget, XmTextPosition start, XmTextPosition end, XmTextBlock block, Boolean update);XMLIBEXPORT extern void _XmTextSetCursorPosition(Widget w, XmTextPosition pos);XMLIBEXPORT extern void _XmTextLineInfo(XmTextWidget widget, LineNum line, XmTextPosition *startpos, LineTableExtra *extra);XMLIBEXPORT extern LineNum _XmTextPosToLine(XmTextWidget widget, XmTextPosition position);XMLIBEXPORT extern void _XmTextMarkRedraw(XmTextWidget widget, XmTextPosition left, XmTextPosition right);XMLIBEXPORT extern void _XmTextDisableRedisplay(XmTextWidget widget, Boolean losesbackingstore);XMLIBEXPORT extern void _XmTextEnableRedisplay(XmTextWidget widget) ;XMLIBEXPORT extern void _XmTextDelete(XmTextWidget w, XEvent *ev, XmTextPosition start, XmTextPosition end);XMLIBEXPORT extern void _XmTextSetTopCharacter ( Widget w, XmTextPosition position);XMLIBEXPORT extern LineNum _XmTextNumLines( XmTextWidget widget);void _XmTextInvalidate(XmTextWidget w, XmTextPosition position, XmTextPosition topos, long delta);#define Text_Source(w) (((XmTextWidget)(w))->text.source)#define Text_ActivateCallback(w) (((XmTextWidget)(w))->text.activate_callback)#define Text_FocusCallback(w) (((XmTextWidget)(w))->text.focus_callback)#define Text_LosingFocusCallback(w) (((XmTextWidget)(w))->text.losing_focus_callback)#define Text_ValueChangedCallback(w) (((XmTextWidget)(w))->text.value_changed_callback)#define Text_ModifyVerifyCallback(w) (((XmTextWidget)(w))->text.modify_verify_callback)#define Text_WcsModifyVerifyCallback(w) (((XmTextWidget)(w))->text.wcs_modify_verify_callback)#define Text_MotionVerifyCallback(w) (((XmTextWidget)(w))->text.motion_verify_callback)#define Text_GainPrimaryCallback(w) (((XmTextWidget)(w))->text.gain_primary_callback)#define Text_LosePrimaryCallback(w) (((XmTextWidget)(w))->text.lose_primary_callback)#define Text_Value(w) (((XmTextWidget)(w))->text.value)#define Text_WcsValue(w) (((XmTextWidget)(w))->text.wc_value)#define Text_MarginWidth(w) (((XmTextWidget)(w))->text.margin_width)#define Text_MarginHeight(w) (((XmTextWidget)(w))->text.margin_height)#define Text_CursorPositionX(w) (((XmTextWidget)(w))->text.cursor_position_x)#define Text_OutputCreate(w) (((XmTextWidget)(w))->text.output_create)#define Text_InputCreate(w) (((XmTextWidget)(w))->text.input_create)#define Text_TopPos(w) (((XmTextWidget)(w))->text.top_character)#define Text_BottomPos(w) (((XmTextWidget)(w))->text.bottom_position)#define Text_CursorPos(w) (((XmTextWidget)(w))->text.cursor_position)#define Text_FirstPos(w) (((XmTextWidget)(w))->text.first_position)#define Text_LastPos(w) (((XmTextWidget)(w))->text.last_position)#define Text_MaxLength(w) (((XmTextWidget)(w))->text.max_length)#define Text_EditMode(w) (((XmTextWidget)(w))->text.edit_mode)#define Text_AutoShowCursorPosition(w) (((XmTextWidget)(w))->text.auto_show_cursor_position)#define Text_Editable(w) (((XmTextWidget)(w))->text.editable)#define Text_VerifyBell(w) (((XmTextWidget)(w))->text.verify_bell)#define Text_AddMode(w) (((XmTextWidget)(w))->text.add_mode)#define Text_Traversed(w) (((XmTextWidget)(w))->text.traversed)#define Text_InRedisplay(w) (((XmTextWidget)(w))->text.in_redisplay)#define Text_NeedsRedisplay(w) (((XmTextWidget)(w))->text.needs_redisplay)#define Text_InRefigureLines(w) (((XmTextWidget)(w))->text.in_refigure_lines)#define Text_NeedsRefigureLines(w) (((XmTextWidget)(w))->text.needs_refigure_lines)#define Text_InSetValues(w) (((XmTextWidget)(w))->text.in_setvalues)#define Text_InResize(w) (((XmTextWidget)(w))->text.in_resize)#define Text_InExpose(w) (((XmTextWidget)(w))->text.in_expose)#define Text_HighlightChanged(w) (((XmTextWidget)(w))->text.highlight_changed)#define Text_PendingOff(w) (((XmTextWidget)(w))->text.pendingoff)#define Text_CharSize(w) (((XmTextWidget)(w))->text.char_size)#define Text_OnOrOff(w) (((XmTextWidget)(w))->text.on_or_off)#define Text_Output(w) (((XmTextWidget)(w))->text.output)#define Text_OutputData(w) (Text_Output(w)->data)#define Text_Input(w) (((XmTextWidget)(w))->text.input)#define Text_InputData(w) (Text_Input(w)->data)#define Text_ForgetPast(w) (((XmTextWidget)(w))->text.forget_past)#define Text_ForceDisplay(w) (((XmTextWidget)(w))->text.force_display)#define Text_NewTop(w) (((XmTextWidget)(w))->text.new_top)#define Text_LastTopChar(w) (((XmTextWidget)(w))->text.last_top_char)#define Text_DestPosition(w) (((XmTextWidget)(w))->text.dest_position)#define Text_DisableDepth(w) (((XmTextWidget)(w))->text.disable_depth)#define Text_PendingScroll(w) (((XmTextWidget)(w))->text.pending_scroll)#define Text_TotalLines(w) (((XmTextWidget)(w))->text.total_lines)#define Text_TopLine(w) (((XmTextWidget)(w))->text.top_line)#define Text_VSBarScrolling(w) (((XmTextWidget)(w))->text.vsbar_scrolling)#define Text_Line(w) (((XmTextWidget)(w))->text.line)#define Text_LineCount(w) (((XmTextWidget)(w))->text.number_lines)#define Text_LineMax(w) (((XmTextWidget)(w))->text.maximum_lines)#define Text_Repaint(w) (((XmTextWidget)(w))->text.repaint)#define Text_Highlight(w) (((XmTextWidget)(w))->text.highlight)#define Text_OldHighlight(w) (((XmTextWidget)(w))->text.old_highlight)#define Text_InnerWidget(w) (XmTextInnerWidget)(((XmTextWidget)(w))->text.inner_widget)#define Text_LineTable(w) (((XmTextWidget)(w))->text.line_table)#define Text_TableSize(w) (((XmTextWidget)(w))->text.table_size)#define Text_TableIndex(w) (((XmTextWidget)(w))->text.table_index)#ifdef __cplusplus};#endif#endif /* _XM_TEXTP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -