我遇到问题,想寻求解决方案。

我正在做一个eclipse插件项目,其中需要一种类型的资源文件的编辑器。 资源文件具有类似CSV文件的结构。 我的想法是为用户提供编辑纯文本格式和SWT表格式的文件的选项。 检查数据需要纯文本,表格则提供了更大的编辑灵活性,例如按列排序。

我已经能够使用一个页面org.eclipse.ui.editors.text.TextEditor创建一个MultiPageEditorPart ,并使用org.eclipse.swt.widgets.Table和其他几个小部件(例如搜索栏)来创建一个MultiPageEditorPart 资源文件的内容可以显示在TextEditor ,也可以编辑和保存。 另一方面,内容也可以加载到表中,排序和搜索都很好。

问题是:当我在表中编辑单元格时,我希望TextEditor的更改也反映在TextEditor ,反之亦然。 由于资源文件可能非常大,我希望保存操作仅在TextEditor上发生,即我不希望直接将表中的任何修改存储到资源文件中,而是将文件标记为脏,但我无法确定怎么做。 例如,如何获取EditorInput的内容, EditorInput检查并在TextEditor外部进行修改?

或者,是否有更有效的方法来做到这一点? 谁能提供任何提示?

===============>>#1 票数:1 已采纳

TextEditor使用的IDocument使您可以访问文档内容。 通过类似以下方式获取此信息:

IDocumentProvider provider = editor.getDocumentProvider();

IEditorInput input = editor.getEditorInput();

IDocument document = provider.getDocument(input);

IDocument有许多访问行的方法,例如:

int getLineOffset(int line);

int getLineLength(int line);

和修改文本的方法:

void replace(int offset, int length, String text);

  ask by boreas translate from so

未解决问题?本站智能推荐:

1回复

如何在eclipse TextEditor中获取光标列的位置

我想开发一个eclipse插件,需要根据texteditor中的光标位置进行一些操作。 看起来很容易获得光标的行位置,请参阅: 如何在Eclipse TextEditor中获得光标位置 但是如何获取列的位置呢?
1回复

清除SWT-CheckboxTableViewer的内容

我已经实现了如下所示。 我面临的问题是清除CheckboxTableViewer的内容,现在我跟踪CheckboxTableViiewer中存在的项目,然后删除第0个元素,但这在用户快速移动列表时引起问题。 list= new org.eclipse.swt.widgets.Lis
1回复

SWT - 使表格可滚动

我尝试了下面的代码,表格没有任何滚动条。 请帮助使SWT表可以水平和垂直滚动。 我试过使用SWT.SCROLL_PAGE和SWT.SCROLL_LINE。 在这个例子中,两者都给出了相同的结果。 我错过了与SWT中可滚动小部件相关的基本理解。 请在这方面提供帮助。
1回复

如何给TreeItem SWT黑色边框?

我已经使用TreeColumn创建了超过1列的Tree。 现在,我要实现的是为Tree中的单元格项目创建边框单元格。 现在是我的实现: 有人知道吗
2回复

没有Ctrl的SWT TableViewer多选

我正在使用TableViewer,我希望它像我按住CTRL键一样执行。 我的意思是如果我单击一行,它必须添加到选择中而不是替换当前选择。 我可能需要在选择监听器中手动执行此操作。 但可能有更好(更方便)的方式吗?
2回复

SWT中操作的键盘快捷键

如何为与TreeViewer或TableViewer (或一般任何控件)的上下文菜单项关联的动作定义键盘快捷方式(加速器)。 我有不同种类的对象的树和表,并且有通用操作,例如“向上移动”,“向下移动”,“展开”或“折叠”。 我为表或树控件创建了上下文菜单,但我希望用户能够调用操作而无需右
1回复

如何删除swt中网格单元的内容?

在我的向导页面中,我正在使用带有3个列的gridlayout。 第三列将具有“删除”按钮。 我正在使用添加按钮的复合。 当我按下添加按钮时,它将向网格布局添加新行。 现在,我正在尝试添加侦听器以删除按钮。 当我按下“删除”按钮时,它应该从网格布局中删除在其中按下了“删除”按钮的行,并应
1回复

将类添加到org.eclipse.swt

我正在开发一个Eclipse插件,该插件需要修改Eclipse核心软件包中的类。 我想编写自己的org.eclipse.swt.StyledText(不要通过源代码复制扩展并修改某些行为),并在org.eclipse.jface.text.TextViewer中实例化它,而不是默认的Style
1回复

如何在SWT文本中禁用粘贴操作

我有一个SWT文本,我不希望输入任何特殊字符,而只能输入数字和数字。 所以我已经使用了文本的验证列表: 因此,现在我将无法输入特殊字符。 1)如何启用在文本内部粘贴文本? 2)当我从外部复制包含特殊字符的文本并将其粘贴到Text中时,不应粘贴它如何限制它? 请给我建议
2回复

TableViewer单元格编辑器不起作用-SWT

我正在尝试在Eclipse SWT中实现可编辑的表格查看器。 我想我到目前为止一切都很好,问题是表格不可编辑-如果单击任何行都不会发生任何事情。 我在我的所有列中都注册了一些CellEditor: 然后为表格指定单元格修饰符: CellModifier类如下所示: