Kaydet (Commit) 9a062826 authored tarafından Liu Zhe's avatar Liu Zhe

#120653# - SVT SW case 1

Patch by: Liu Yi Xuan <liuyixuan.527@gmail.com>
Review by: Liu Zhe <aliuzhe@gmail.com>
üst a32aabba
/**************************************************************
*
* 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 testcase.gui.svt.sw;
import static org.openoffice.test.common.Testspace.*;
import static org.junit.Assert.*;
import static org.openoffice.test.vcl.Tester.*;
import static testlib.gui.AppUtil.*;
import static testlib.gui.UIMap.*;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.HashMap;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.openoffice.test.OpenOffice;
import org.openoffice.test.common.Condition;
import org.openoffice.test.common.FileUtil;
import org.openoffice.test.common.GraphicsUtil;
import org.openoffice.test.common.SystemUtil;
import org.openoffice.test.common.Testspace;
import testlib.gui.CalcUtil;
import testlib.gui.Log;
public class LongRun {
@Rule
public Log LOG = new Log();
private PrintStream result = null;
private String pid = null;
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
app.start(true);
result = new PrintStream(new FileOutputStream(Testspace.getFile("output/longrun.csv")));
HashMap<String, Object> proccessInfo = SystemUtil.findProcess(".*(soffice\\.bin|soffice.*-env).*");
pid = (String)proccessInfo.get("pid");
result.println("Iterator,Time,Memory(KB),CPU(%)");
LOG.info("Result will be saved to " + Testspace.getPath("output/longrun.csv"));
}
@After
public void tearDown() throws Exception {
app.close();
result.close();
}
Rectangle rect = new Rectangle(400, 200, 60, 60);
Condition condition = new Condition() {
@Override
public boolean value() {
BufferedImage image = GraphicsUtil.screenshot(rect);
for (int x = 0; x < image.getWidth();x++) {
for (int y = 0; y < image.getHeight();y++) {
if (image.getRGB(x, y) == 0xFF000000) {
return true;
}
}
}
return false;
}
};
/**
* Test New/Save a text document
*
* @throws Exception
*/
@Test
public void testLongRun() throws Exception {
startcenter.menuItem("File->New->Text Document").select();
writer.typeKeys("Long-running test...");
for(int i = 0 ; i < 1000; i++){
saveNewDocument("helloworld_saveas.odt");
saveNewDocument("helloworld_saveas.ott");
saveNewDocument("helloworld_saveas.sxw");
saveNewDocument("helloworld_saveas.stw");
saveNewDocument("helloworld_saveas.doc");
saveNewDocument("helloworld_saveas.txt");
saveNewSpreadsheet("helloworld_saveas.ods");
saveNewSpreadsheet("helloworld_saveas.ots");
saveNewSpreadsheet("helloworld_saveas.sxc");
saveNewSpreadsheet("helloworld_saveas.stc");
saveNewSpreadsheet("helloworld_saveas.xls");
saveNewPresentation("helloworld_saveas.odp");
saveNewPresentation("helloworld_saveas.otp");
saveNewPresentation("helloworld_saveas.ppt");
saveNewPresentation("helloworld_saveas.pot");
saveNewPresentation("helloworld_saveas.sxi");
saveNewPresentation("helloworld_saveas.sti");
saveNewMath("math_saveas.sxm");
saveNewMath("math_saveas.mml");
saveNewDrawing("draw_saveas.odg");
saveNewDrawing("draw_saveas.otg");
saveNewDrawing("draw_saveas.sxd");
saveNewDrawing("draw_saveas.std");
HashMap<String, Object> perfData = SystemUtil.getProcessPerfData(pid);
String record = i + "," + System.currentTimeMillis() + "," + perfData.get("rss") + "," + perfData.get("pcpu");
LOG.info("Record: " + record);
result.println(record);
result.flush();
}
}
private void saveNewDocument(String file) {
String saveTo = getPath("temp/" + file);
// Create a new text document
writer.menuItem("File->New->Text Document").select();
sleep(3);
// Input some text by keyboard
writer.focus();
String text = "~!@#$%^&*()_+QWERTYUIOP{}|:LKJHGFDSAZXCVBNM<>? ";
typeText(text);
writer.menuItem("Edit->Select All").select();
app.setClipboard(".wrong");
sleep(1);
typeKeys("<$copy>");
sleep(1);
// Verify the text via system clip board
Assert.assertEquals("The typed text into writer", text,
app.getClipboard());
// Set the text style
writer.openContextMenu();
menuItem("Character...").select();
EffectsPage.select();
EffectsPage_Color.select("Magenta");
EffectsPage.ok();
sleep(2);
// Save the text document
writer.menuItem("File->Save As...").select();
FileUtil.deleteFile(saveTo);
submitSaveDlg(saveTo);
if (AlienFormatDlg.exists(3))
AlienFormatDlg.ok();
// Close it by clicking main menu
writer.menuItem("File->Close").select();
// openStartcenter();
// Reopen the saved file
writer.menuItem("File->Open...").select();
submitOpenDlg(saveTo);
writer.waitForExistence(10, 2);
writer.menuItem("Edit->Select All").select();
app.setClipboard(".wrong");
typeKeys("<$copy>");
sleep(1);
// Verify if the text still exists in the file
Assert.assertEquals("The typed text into writer is saved!", text,
app.getClipboard());
writer.menuItem("File->Close").select();
}
private void saveNewSpreadsheet(String file) {
String saveTo = getPath("temp/" + file);
String text = "Hello Openoffice";
writer.menuItem("File->New->Spreadsheet").select();
calc.waitForExistence(10, 2);
CalcUtil.selectRange("A65536");
typeKeys(text);
calc.menuItem("File->Save As...").select();
FileUtil.deleteFile(saveTo);
submitSaveDlg(saveTo);
if (AlienFormatDlg.exists(3))
AlienFormatDlg.ok();
// Close it by clicking main menu
calc.menuItem("File->Close").select();
// openStartcenter();
// Reopen the saved file
writer.menuItem("File->Open...").select();
submitOpenDlg(saveTo);
calc.waitForExistence(10, 2);
Assert.assertEquals("The typed text is saved!", text,
CalcUtil.getCellText("A65536"));
calc.menuItem("File->Close").select();
}
private void saveNewPresentation(String file) {
String saveTo = getPath("temp/" + file);
String text = "Hello Openoffice";
writer.menuItem("File->New->Presentation").select();
PresentationWizard.ok();
impress.waitForExistence(10, 2);
sleep(2);
impress.click(0.01, 0.01);
typeKeys(text);
sleep(2);
impress.doubleClick(0.1, 0.5);
impress.menuItem("File->Save As...").select();
FileUtil.deleteFile(saveTo);
submitSaveDlg(saveTo);
if (AlienFormatDlg.exists(3))
AlienFormatDlg.ok();
// Close it by clicking main menu
impress.menuItem("File->Close").select();
// openStartcenter();
// Reopen the saved file
sleep(2);
writer.menuItem("File->Open...").select();
submitOpenDlg(saveTo);
impress.waitForExistence(10, 2);
sleep(2);
impress.click(3, 3);
typeKeys("<tab><enter>");
impress.menuItem("Edit->Select All").select();
// app.setClipboard(".wrong");
typeKeys("<$copy>");
sleep(1);
Assert.assertEquals("The typed text is saved!", text,
app.getClipboard());
impress.menuItem("File->Close").select();
}
/**
* New/Save a draw document 1. New a draw document 2. Insert a picture 3.
* Save it as the input filename 4. Reopen the saved file 5. Check if the
* picture is still there
*
* @param filename
* : filename to be saved
* @throws Exception
*/
public void saveNewDrawing(String filename) {
String saveTo = getPath("temp/" + filename);
String bmp_green = prepareData("pure_green_64x64.bmp");
// Create a new drawing document
writer.menuItem("File->New->Drawing").select();
sleep(3);
// Insert a picture fully filled with green
draw.menuItem("Insert->Picture->From File...").select();
submitOpenDlg(bmp_green);
sleep(3);
// Focus on edit pane
draw.click(5, 5);
sleep(1);
// Verify if the picture is inserted successfully
Rectangle rectangle = GraphicsUtil.findRectangle(
draw.getScreenRectangle(), 0xFF00FF00);
assertNotNull("Green rectangle: " + rectangle, rectangle);
// Save the drawing
draw.menuItem("File->Save As...").select();
FileUtil.deleteFile(saveTo);
submitSaveDlg(saveTo);
// If the format is supported by OO1.0, ask whether to change to the
// latest format
if (AlienFormatDlg.exists(3))
AlienFormatDlg.ok(); // Keep the current format
// Close it by clicking main menu
draw.menuItem("File->Close").select();
// openStartcenter();
// Reopen the saved file
writer.menuItem("File->Open...").select();
submitOpenDlg(saveTo);
draw.waitForExistence(10, 2);
draw.click(5, 5);
sleep(1);
// Verify if the picture still exists in the file
Rectangle rectangle1 = GraphicsUtil.findRectangle(
draw.getScreenRectangle(), 0xFF00FF00);
assertNotNull("Green rectangle: " + rectangle1, rectangle1);
draw.menuItem("File->Close").select();
}
/**
* New/Save a math 1. New a math 2. Insert a formula 3. Save it as the input
* filename 4. Reopen the saved file 5. Check if the formula is still there
*
* @param filename
* : filename to be saved
* @throws Exception
*/
public void saveNewMath(String filename) {
String saveTo = getPath("temp/" + filename);
// Create a new math
writer.menuItem("File->New->Formula").select();
sleep(3);
// Verify if the Elements window is active
assertTrue(math_ElementsWindow.exists(3));
// Insert a formula
String text = "5 times 3 = 15";
typeText(text);
math_EditWindow.menuItem("Edit->Select All").select();
typeKeys("<$copy>");
sleep(1);
// Verify the text via system clip board
assertEquals("The typed formula into math", text, app.getClipboard());
// Save the formula
math_EditWindow.menuItem("File->Save As...").select();
FileUtil.deleteFile(saveTo);
submitSaveDlg(saveTo);
// If the format is supported by OO1.0, ask whether to change to the
// latest format
if (AlienFormatDlg.exists(3))
AlienFormatDlg.ok(); // Keep the current format
// Close it by clicking main menu
math_EditWindow.menuItem("File->Close").select();
// openStartcenter();
// Reopen the saved file
writer.menuItem("File->Open...").select();
submitOpenDlg(saveTo);
math_EditWindow.waitForExistence(10, 2);
// Verify if the formula still exists in the file
math_EditWindow.menuItem("Edit->Select All").select();
typeKeys("<$copy>");
sleep(1);
assertEquals("The typed formula into math is saved", text,
app.getClipboard());
// Close the file to avoid the app closing the Elements window
// automatically
math_EditWindow.menuItem("File->Close").select();
}
}
/**************************************************************
*
* 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 testcase.gui.svt.sw;
import static org.openoffice.test.vcl.Tester.sleep;
import static testlib.gui.AppUtil.submitSaveDlg;
import static testlib.gui.UIMap.ActiveMsgBox;
import static testlib.gui.UIMap.Bullet;
import static testlib.gui.UIMap.Change;
import static testlib.gui.UIMap.InsertIndexDlg;
import static testlib.gui.UIMap.StyleAndFormattingDlg;
import static testlib.gui.UIMap.StyleAndFormattingList;
import static testlib.gui.UIMap.SuggestionList;
import static testlib.gui.UIMap.app;
import static testlib.gui.UIMap.startcenter;
import static testlib.gui.UIMap.writer;
import static testlib.gui.UIMap.writer_FrameDlg;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.HashMap;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.openoffice.test.common.FileUtil;
import org.openoffice.test.common.SystemUtil;
import org.openoffice.test.common.Testspace;
import testlib.gui.Log;
public class OperationOnNewSW {
@Rule
public Log LOG = new Log();
private PrintStream result = null;
private String pid = null;
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
app.start(true);
result = new PrintStream(new FileOutputStream(Testspace.getFile("output/svt_sw_new.csv")));
HashMap<String, Object> proccessInfo = SystemUtil.findProcess(".*(soffice\\.bin|soffice.*-env).*");
pid = (String)proccessInfo.get("pid");
result.println("Iterator,Time,Memory(KB),CPU(%)");
LOG.info("Result will be saved to " + Testspace.getPath("output/longrun.csv"));
}
@After
public void tearDown() throws Exception {
app.close();
result.close();
}
@Test
public void operationOnNewSW() throws Exception {
for(int i = 0; i < 1000; i++)
{
startcenter.menuItem("File->New->Text Document").select();
// Input words (Duplicate Formatting) and set numbering and bullet.
writer.typeKeys("this is a wonderful world");
writer.typeKeys("<enter>");
sleep(3);
writer.typeKeys("this is a beautiful world");
app.dispatch(".uno:SelectAll");
writer.menuItem("Format->Bullets and Numbering...").select();
sleep(3);
Bullet.ok();
writer.typeKeys("<ctrl z");
sleep(1);
writer.typeKeys("<ctrl y>");
sleep(1);
writer.typeKeys("<ctrl end>");
writer.typeKeys("<enter>");
sleep(2);
// Word Spell Check
writer.typeKeys("goood");
sleep(2);
writer.menuItem("Tools->Spelling and Grammar...").select();
sleep(2);
SuggestionList.select(0);
Change.click();
sleep(2);
ActiveMsgBox.no();
sleep(2);
// Create Header and Footer
writer.menuItem("Insert->Header->Default").select();
sleep(2);
writer.typeKeys("Header");
sleep(2);
writer.menuItem("Insert->Footer->Default").select();
sleep(2);
writer.typeKeys("Footer");
sleep(2);
writer.typeKeys("<ctrl end>");
sleep(2);
writer.typeKeys("<enter>");
sleep(2);
// Insert Frame and change anchor
writer.menuItem("Insert->Frame...").select();
sleep(2);
writer_FrameDlg.ok();
writer.menuItem("Format->Anchor->To Page").select();
sleep(2);
writer.menuItem("Format->Anchor->To Paragraph").select();
sleep(2);
writer.menuItem("Format->Anchor->To Character").select();
sleep(2);
writer.menuItem("Format->Anchor->As Character").select();
sleep(2);
writer.typeKeys("<esc>");
sleep(2);
writer.typeKeys("<enter>");
sleep(2);
// Insert TOC
for(int j = 0; j < 6; j++)
{
writer.typeKeys(String.valueOf(j + 1));
writer.typeKeys("<enter>");
}
writer.typeKeys("<ctrl home>");
for(int k = 0; k < 2; k++)
{
writer.typeKeys("<shift down>");
}
if(!StyleAndFormattingDlg.exists())
{
app.dispatch(".uno:DesignerDialog");
sleep(2);
}
StyleAndFormattingList.doubleClick(0.5, 0.25);
sleep(2);
writer.typeKeys("<down>");
writer.typeKeys("<right>");
writer.typeKeys("<left>");
for(int k = 0; k < 2; k++)
{
writer.typeKeys("<shift down>");
}
StyleAndFormattingList.doubleClick(0.5, 0.3);
sleep(2);
writer.typeKeys("<ctrl home>");
sleep(2);
writer.menuItem("Insert->Indexes and Tables->Indexes and Tables...").select();
sleep(2);
InsertIndexDlg.ok();
sleep(2);
writer.typeKeys("<ctrl end>");
// Save File and close
String saveTo = "temp" + i + ".odt";
writer.menuItem("File->Save As...").select();
FileUtil.deleteFile(saveTo);
submitSaveDlg(saveTo);
if(ActiveMsgBox.exists())
{
ActiveMsgBox.yes();
sleep(2);
}
writer.menuItem("File->Close").select();
HashMap<String, Object> perfData = SystemUtil.getProcessPerfData(pid);
String record = i + "," + System.currentTimeMillis() + "," + perfData.get("rss") + "," + perfData.get("pcpu");
LOG.info("Record: " + record);
result.println(record);
result.flush();
sleep(3);
}
}
}
......@@ -51,7 +51,7 @@ import org.openoffice.test.vcl.widgets.VclTreeListBox;
*
*/
public class UIMap {
private static IDList idList = new IDList(new File("./idsd"));
private static IDList idList = new IDList(new File("./hid"));
public static final VclMessageBox ActiveMsgBox = new VclMessageBox(Constant.UID_ACTIVE);
public static final VclMessageBox MsgBox_AdditionalRowsNotSaved = new VclMessageBox(Constant.UID_ACTIVE, "Additional rows were not saved.");
public static final VclTabControl ActiveTabControl = new VclTabControl(Constant.UID_ACTIVE);
......@@ -223,7 +223,8 @@ public class UIMap {
public static final VclDialog writer_ConvertTableToTextDlg = dialog(".uno:ConvertTableText");
public static final VclWindow writer_Navigator = window("SW_HID_NAVIGATION_PI");
public static final VclListBox writer_NavigatorList = listbox("SW_HID_NAVIGATOR_TREELIST");
public static final VclControl writer_FrameDlg = control("SW_HID_FRM_STD");
// public static final VclControl writer_FrameDlg = control("SW_HID_FRM_STD");
public static final VclDialog writer_FrameDlg = dialog("SW_HID_FRM_STD");
public static final VclField SC_NumberOfColumnsRowsToInsert = field("1502452023");
public static final VclDialog SC_InsertColumnsRowsdialog = dialog("26166");
public static final VclButton SC_InsertColumnsRowsAfterSelectColumn = button("1502446395");
......@@ -356,6 +357,19 @@ public class UIMap {
public static final VclButton SC_FunctionWizardDlg_Next = button("formula:PushButton:RID_FORMULADLG_FORMULA:BTN_FORWARD");
public static final VclTreeListBox OptionsDlg_PathTabTree = tree("CUI_HID_OPTPATH_CTL_PATH");
public static final VclTreeListBox OptionsDlg_MicorOfficeTree = tree("CUI_HID_OFAPAGE_MSFLTR2_CLB");
public static final VclTabPage Bullet = tabpage("CUI_HID_SVXPAGE_PICK_BULLET");
// Writer: "Spell check" dialog
public static final VclDialog spellcheck = dialog("CUI_HID_SPELLCHECK");
public static final VclListBox LanguageList = listbox("cui:ListBox:RID_SVXDLG_SPELLCHECK:LB_LANGUAGE");
public static final VclEditBox MisspelledWords = editbox("cui:MultiLineEdit:RID_SVXDLG_SPELLCHECK:ED_NEWWORD");
public static final VclListBox SuggestionList = listbox("cui:ListBox:RID_SVXDLG_SPELLCHECK:LB_SUGGESTION");
public static final VclButton IgnoreOnce = button("CUI_HID_SPLDLG_BUTTON_IGNORE");
public static final VclButton IgnoreAll = button("CUI_HID_SPLDLG_BUTTON_IGNOREALL");
public static final VclButton Add = button("cui:MenuButton:RID_SVXDLG_SPELLCHECK:MB_ADDTODICT");
public static final VclButton Change = button("CUI_HID_SPLDLG_BUTTON_CHANGE");
public static final VclButton ChangeAll = button("CUI_HID_SPLDLG_BUTTON_CHANGEALL");
public static final VclButton AutoCorrect = button("cui:PushButton:RID_SVXDLG_SPELLCHECK:PB_AUTOCORR");
public static final VclButton Close = button("CUI_HID_SPLDLG_BUTTON_CLOSE");
// Presentation:"Table Property" dialog
public static final VclButton impress_WizardDlg_Next = button("sd:PushButton:DLG_ASS:BUT_NEXT");
......@@ -399,4 +413,45 @@ public class UIMap {
public static final VclButton SD_InsertTextboxButtonOnToolbar = button(".uno:Text");
public static final VclButton SD_FormatArea = button(".uno:FormatArea");
//Writer:Style and Formatting List
public static final VclControl StyleAndFormattingList = control("SFX2_HID_TEMPLATE_FMT");
public static final VclListBox StyleFilterList = listbox("SFX2_HID_TEMPLATE_FILTER");
public static final VclDockingWin StyleAndFormattingDlg = dockingwin(".uno:DesignerDialog");
//Writer:Insert Index and Table Dialog
public static final VclDialog InsertIndexDlg = dialog("SW_HID_TP_TOX_SELECT");
//Writer:Split Cell Dialog
public static final VclDialog Writer_SplitCellDlg = dialog("cui:ModalDialog:RID_SVX_SPLITCELLDLG");
//Writer:Insert Rows/Columns Dialog
public static final VclDialog Writer_InsertRowsDlg = dialog(".uno:InsertRowDialog");
public static final VclField Writer_InsertNum = field("cui:NumericField:DLG_INS_ROW_COL:ED_COUNT");
public static final VclButton Writer_InsertBefore = button("cui:RadioButton:DLG_INS_ROW_COL:CB_POS_BEFORE");
public static final VclButton Writer_InsertAfter = button("cui:RadioButton:DLG_INS_ROW_COL:CB_POS_AFTER");
public static final VclDialog Writer_InsertColumnsDlg = dialog(".uno:InsertColumnDialog");
//Writer:Alignment TabPage of Paragraph format
public static final VclTabPage AlignmentTabPage = tabpage("CUI_HID_FORMAT_PARAGRAPH_ALIGN");
public static final VclButton Left = button("cui:RadioButton:RID_SVXPAGE_ALIGN_PARAGRAPH:BTN_LEFTALIGN");
public static final VclButton Right = button("cui:RadioButton:RID_SVXPAGE_ALIGN_PARAGRAPH:BTN_RIGHTALIGN");
public static final VclButton Center = button("cui:RadioButton:RID_SVXPAGE_ALIGN_PARAGRAPH:BTN_CENTERALIGN");
public static final VclButton Justified = button("cui:RadioButton:RID_SVXPAGE_ALIGN_PARAGRAPH:BTN_JUSTIFYALIGN");
public static final VclListBox Lastline = listbox("cui:ListBox:RID_SVXPAGE_ALIGN_PARAGRAPH:LB_LASTLINE");
public static final VclButton ExpandSingleWord = button("cui:CheckBox:RID_SVXPAGE_ALIGN_PARAGRAPH:CB_EXPAND");
public static final VclButton SnapToTextGrid = button("cui:CheckBox:RID_SVXPAGE_ALIGN_PARAGRAPH:CB_SNAP");
public static final VclListBox VerticalAlignment = listbox("cui:ListBox:RID_SVXPAGE_ALIGN_PARAGRAPH:LB_VERTALIGN");
//Writer: Insert Object Dialog
public static final VclDialog InsertObject = dialog(".uno:InsertObject");
public static final VclButton NewObject = button("cui:RadioButton:MD_INSERT_OLEOBJECT:RB_NEW_OBJECT");
public static final VclButton ObjectFromFile = button("cui:RadioButton:MD_INSERT_OLEOBJECT:RB_OBJECT_FROMFILE");
public static final VclListBox ObjectType = listbox("cui:ListBox:MD_INSERT_OLEOBJECT:LB_OBJECTTYPE");
public static final VclEditBox ObjectFilePath = editbox("cui:Edit:MD_INSERT_OLEOBJECT:ED_FILEPATH");
public static final VclButton ObjectFileSearch = button("cui:PushButton:MD_INSERT_OLEOBJECT:BTN_FILEPATH");
public static final VclButton ObjectFileLink = button("cui:CheckBox:MD_INSERT_OLEOBJECT:CB_FILELINK");
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment