blob: 5b05ef1517fe7d82c50e2d62378b0b0e68597579 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.uima.caseditor.ui.property;
import org.apache.uima.cas.CAS;
import org.apache.uima.caseditor.core.model.DocumentElement;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.dialogs.PropertyPage;
/**
* This is the <code>DocumentElement</code> property page.
* It shows information about the selected document.
*/
public class DocumentPropertyPage extends PropertyPage
{
private Text mLanguageText;
private CAS mCAS;
@Override
protected Control createContents(Composite parent)
{
DocumentElement document = (DocumentElement) getElement();
try {
mCAS = document.getDocument(false).getCAS();
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Composite base = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
layout.horizontalSpacing = 10;
base.setLayout(layout);
Label charNumberLabel = new Label(base, SWT.NONE);
charNumberLabel.setText("Characters:");
// char number
Label charNumberValue = new Label(base, SWT.NONE);
charNumberValue.setText(Integer.toString(mCAS.getDocumentText()
.length()));
// tokens
/*
Label tokenNumberLabel = new Label(base, SWT.NONE);
tokenNumberLabel.setText("Tokens:");
Label tokenNumberValueLabel = new Label(base, SWT.NONE);
Type tokenType = mTCAS.getTypeSystem().getType(
"com.calcucare.nlp.Token");
int numberOfTokens = mTCAS.getAnnotationIndex(tokenType).size();
tokenNumberValueLabel.setText(Integer.toString(numberOfTokens));
*/
// sentences
/*
Label sentenceNumberLabel = new Label(base, SWT.NONE);
sentenceNumberLabel.setText("Sentences:");
Label sentenceNumberValueLabel = new Label(base, SWT.NONE);
Type sentenceType = mTCAS.getTypeSystem().getType(
"com.calcucare.nlp.Sentence");
int numberOfSentences = mTCAS.getAnnotationIndex(sentenceType).size();
sentenceNumberValueLabel.setText(Integer.toString(numberOfSentences));
*/
// document language
Label languageLabel = new Label(base, SWT.NONE);
languageLabel.setText("Language:");
mLanguageText = new Text(base, SWT.BORDER);
mLanguageText.setText(mCAS.getDocumentLanguage());
return base;
}
@Override
public boolean performOk()
{
mCAS.setDocumentLanguage(mLanguageText.getText());
return super.performOk();
}
}