List of usage examples for com.google.gwt.user.client.ui MenuBar addItem
public MenuItem addItem(MenuItem item)
From source file:accelerator.client.view.desktop.DesktopMainMenuView.java
License:Open Source License
@UiHandler("editButton") void onEditButtonClick(ClickEvent e) { final PopupPanel popup = new PopupPanel(true, false); MenuBar menu = new MenuBar(true); {/*from w ww. j a v a 2 s. com*/ final Project p = getSelectedProject(); final boolean isProjectSelected = p != null; // MenuItem edit = new MenuItem("", new Command() { public void execute() { assert (p != null); popup.hide(); ProjectDialogBox dlg = new ProjectDialogBox(p); dlg.setHandler(new ProjectDialogBox.Handler() { public void onOk(Project input) { handler.updateProject(input); } }); dlg.center(); } }); edit.setEnabled(isProjectSelected); menu.addItem(edit); // MenuItem delete = new MenuItem("", new Command() { public void execute() { assert (p != null); popup.hide(); handler.deleteProject(p); } }); delete.setEnabled(isProjectSelected); menu.addItem(delete); } menu.addSeparator(); { final Tag t = getSelectedTag(); final boolean isTagSelected = t != null; // MenuItem edit = new MenuItem("", new Command() { public void execute() { assert (t != null); popup.hide(); TagDialogBox dlg = new TagDialogBox(t); dlg.setHandler(new TagDialogBox.Handler() { public void onOk(Tag input) { handler.updateTag(input); } }); dlg.center(); } }); edit.setEnabled(isTagSelected); menu.addItem(edit); // MenuItem delete = new MenuItem("", new Command() { public void execute() { assert (t != null); popup.hide(); handler.deleteTag(t); } }); delete.setEnabled(isTagSelected); menu.addItem(delete); } popup.setWidget(menu); popup.setPopupPositionAndShow(new PositionCallback() { public void setPosition(int offsetWidth, int offsetHeight) { int left = editButton.getAbsoluteLeft(); int top = editButton.getAbsoluteTop() - offsetHeight; popup.setPopupPosition(left, top); } }); }
From source file:ch.heftix.mailxel.client.MailxelMainToolBar.java
License:Open Source License
public MailxelMainToolBar(final MailServiceAsync mailxelService, final MailxelPanel mailxelPanel) { this.mailxelService = mailxelService; this.mailxelPanel = mailxelPanel; logo = new Image("img/mailxel.png"); logo.setTitle("MailXel " + Version.getVersion()); logo.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { PopupPanel pp = new PopupPanel(true); DisclosurePanel dp = new DisclosurePanel("MailXel " + Version.getVersion()); dp.setWidth("400px"); dp.setOpen(true);// w w w.j ava 2s. c o m HTML html = new HTML(); StringBuffer sb = new StringBuffer(); sb.append("(c) 2008-2010 by Simon Hefti. All rights reserved.<br/>"); sb.append( "<p>mailxel is licensed under the <a href=\"http://www.eclipse.org/legal/epl-v10.html\">EPL 1.0</a>. mailxel is distributed on an \"AS IS\" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied."); sb.append("<p>mailxel relies on the following components:"); sb.append("<ul>"); sb.append( "<li>GWT, <a href=\"http://code.google.com/webtoolkit\">http://code.google.com/webtoolkit</a></li>"); sb.append( "<li>sqlite-jdbc, <a href=\"http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC\">http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC</a></li>"); sb.append( "<li>(and thus on sqlite itself, <a href=\"http://www.sqlite.org\">http://www.sqlite.org</a>)</li>"); sb.append( "<li>Java Mail API, <a href=\"http://java.sun.com/products/javamail\">http://java.sun.com/products/javamail</a></li>"); sb.append( "<li>jetty servlet container, <a href=\"http://www.eclipse.org/jetty/\">http://www.eclipse.org/jetty/</a></li>"); sb.append( "<li>fugue-icons, <a href=\"http://code.google.com/p/fugue-icons-src/\">http://code.google.com/p/fugue-icons-src/</a></li>"); sb.append("<li>jsoup, <a href=\"http://jsoup.org\">http://jsoup.org</a></li>"); sb.append("</ul>"); html.setHTML(sb.toString()); dp.add(html); dp.setOpen(true); pp.add(dp); pp.show(); } }); Image home = new Image("img/find.png"); home.setTitle("Search"); home.setStylePrimaryName("mailxel-toolbar-item"); home.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { Panel panel = new MailOverviewGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(panel, "Search"); } }); final Image query = new Image("img/document-task.png"); query.setTitle("Search (predefined query)"); query.setStylePrimaryName("mailxel-toolbar-item"); query.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { final StatusItem si = mailxelPanel.statusStart("retrieve stored message queries"); mailxelService.searchQueries(MessageQueryTO.T_MESSAGE_QUERY, null, new AsyncCallback<List<MessageQueryTO>>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(List<MessageQueryTO> result) { si.done(); if (null != result && result.size() > 0) { PopupMenu popupMenu = new PopupMenu(query); for (MessageQueryTO mqTO : result) { String name = mqTO.shortname + " (" + UIUtil.shorten(mqTO.name) + ")"; MenuItem menuItem = new MenuItem(name, new MessageQueryCommand( mailxelService, mailxelPanel, popupMenu, mqTO)); String url = DirectMailServiceUtil.getIconURL(mqTO.iconId); if (null != url) { String html = "<img src=\"" + url + "\"/> " + name; menuItem.setHTML(html); } popupMenu.addItem(menuItem); } popupMenu.show(); } } }); } }); Image mailnew = new Image("img/mail-new.png"); mailnew.setTitle("New Mail"); mailnew.setStylePrimaryName("mailxel-toolbar-item"); mailnew.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { final MailSendGrid mailSendGrid = new MailSendGrid(mailxelService, mailxelPanel, null, MailSendGrid.TYPE_NEW); mailxelPanel.addTab(mailSendGrid, "New Mail"); } }); Image noteToSelf = new Image("img/note.png"); noteToSelf.setTitle("Note to myself"); noteToSelf.setStylePrimaryName("mailxel-toolbar-item"); noteToSelf.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { final MailSendGrid mailSendGrid = new MailSendGrid(mailxelService, mailxelPanel, null, MailSendGrid.TYPE_SELF); mailxelPanel.addTab(mailSendGrid, "New Note"); } }); Image contacts = new Image("img/address-book.png"); contacts.setTitle("Address Book"); contacts.setStylePrimaryName("mailxel-toolbar-item"); contacts.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { AddressOverviewGrid ag = new AddressOverviewGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(ag, "Contacts"); } }); /** * mail download menu on click, a menu with the available accounts is * displayed, allowing the user is asked to choose the data source. */ final Image download = new Image("img/download-mail.png"); download.setTitle("Mail download"); download.setStylePrimaryName("mailxel-toolbar-item"); download.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { ConfigTO configTO = mailxelPanel.getConfig(); String[] accounts = configTO.accountNames; if (null != accounts && accounts.length > 0) { PopupMenu popupMenu = new PopupMenu(download); // first item: allow download from all known accounts MenuItem menuItem = new MenuItem("Scan all accounts", new ScanMailFolderCommand(mailxelService, mailxelPanel, popupMenu, accounts)); popupMenu.addItem(menuItem); // add one menu item per account for (int i = 0; i < accounts.length; i++) { String[] selectedAccount = new String[1]; selectedAccount[0] = accounts[i]; menuItem = new MenuItem(accounts[i], new ScanMailFolderCommand(mailxelService, mailxelPanel, popupMenu, selectedAccount)); popupMenu.addItem(menuItem); } popupMenu.show(); } } }); final Image reorgMailFolder = new Image("img/wand.png"); reorgMailFolder.setTitle("reorganize mail folder"); reorgMailFolder.setStylePrimaryName("mailxel-toolbar-item"); reorgMailFolder.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { ConfigTO configTO = mailxelPanel.getConfig(); String[] accounts = configTO.accountNames; if (null != accounts && accounts.length > 0) { PopupMenu popupMenu = new PopupMenu(reorgMailFolder); // first item: allow reorg from all known accounts MenuItem menuItem = new MenuItem("All accounts", new ReorgMailFolderCommand(mailxelService, mailxelPanel, popupMenu, reorgMailFolder, accounts)); popupMenu.addItem(menuItem); // add one menu item per account for (int i = 0; i < accounts.length; i++) { String[] selectedAccount = new String[1]; selectedAccount[0] = accounts[i]; menuItem = new MenuItem(accounts[i], new ReorgMailFolderCommand(mailxelService, mailxelPanel, popupMenu, reorgMailFolder, selectedAccount)); popupMenu.addItem(menuItem); } popupMenu.show(); } } }); final Image categories = new Image("img/tags.png"); categories.setTitle("Manage Categories"); categories.setStylePrimaryName("mailxel-toolbar-item"); categories.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { CategoryOverviewGrid cog = new CategoryOverviewGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(cog, "Categories"); } }); final Image setup = new Image("img/preferences-system.png"); setup.setTitle("System Setup"); setup.setStylePrimaryName("mailxel-toolbar-item"); setup.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // ConfigTabPanel cg = new ConfigTabPanel(); ConfigGrid cg = new ConfigGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(cg, "Setup"); } }); final Image login = new Image("img/lock.png"); login.setTitle("Login"); login.setStylePrimaryName("mailxel-toolbar-item"); login.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // create login box LoginPanel loginPanel = new LoginPanel(mailxelService, mailxelPanel); int x = login.getAbsoluteLeft(); int y = login.getAbsoluteTop(); loginPanel.setPopupPosition(x, y); loginPanel.show(); } }); final Image additional = new Image("img/context-menu.png"); additional.setTitle("Additional functions"); additional.setStylePrimaryName("mailxel-toolbar-item"); final PopupCommand importMboxCommand = new PopupCommand() { public void execute() { final PopupPanel pup = new PopupPanel(true); HorizontalPanel hp = new HorizontalPanel(); final TextBox tb = new TextBox(); tb.setWidth("300px"); hp.add(tb); Button b = new Button(); b.setText("import"); b.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { String name = tb.getText(); if (null != name) { name = name.trim(); if (name.length() > 0) { final StatusItem si = mailxelPanel.statusStart("Import from mbox: " + name); mailxelService.importMboxFile(name, new AsyncCallback<Void>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(Void result) { si.done(); } }); pup.hide(); } } } }); hp.add(b); pup.add(hp); int x = additional.getAbsoluteLeft(); int y = additional.getAbsoluteTop(); pup.setPopupPosition(x, y); /** show input box for path to mbox file */ pup.show(); /** hide the list of available additional commands */ hide(); } }; final PopupCommand addressUploadCommand = new PopupCommand() { public void execute() { AddressUploadGrid ug = new AddressUploadGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(ug, "Address Upload"); /** hide the list of available additional commands */ hide(); } }; final Command showWelcomePanelCommand = new Command() { public void execute() { WelcomeToMailxelPanel wp = new WelcomeToMailxelPanel(mailxelService, mailxelPanel); mailxelPanel.addTab(wp, "Welcome"); } }; final PopupCommand deleteConfigCommand = new PopupCommand() { public void execute() { PopupPanel pop = new PopupPanel(true, true); HorizontalPanel hp = new HorizontalPanel(); Label label = new Label("Really delete all configuration?"); hp.add(label); Button b = new Button(); b.setText("Ok"); b.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final StatusItem si = mailxelPanel.statusStart("deleting configuration"); mailxelService.deleteConfig(new AsyncCallback<Void>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(Void result) { si.done(); } }); } }); hp.add(b); pop.add(hp); int x = additional.getAbsoluteLeft(); int y = additional.getAbsoluteTop(); pop.setPopupPosition(x, y); pop.show(); /** hide the list of available additional commands */ hide(); } }; final Command updateToMeFlagCommand = new Command() { public void execute() { final StatusItem si = mailxelPanel.statusStart("Update 'to me' flag"); mailxelService.updateToMeFlag(new AsyncCallback<Void>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(Void result) { si.done(); } }); } }; final Command updateFromMeFlagCommand = new Command() { public void execute() { final StatusItem si = mailxelPanel.statusStart("Update 'from me' flag"); mailxelService.updateFromMeFlag(new AsyncCallback<Void>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(Void result) { si.done(); } }); } }; final Command showStatisticsCommand = new Command() { public void execute() { StatisticsGrid sg = new StatisticsGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(sg, "Statistics"); } }; final Command showIconsCommand = new Command() { public void execute() { IconOverviewGrid og = new IconOverviewGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(og, "Icons"); } }; final Command showMessageQueriesCommand = new Command() { public void execute() { MessageQueryOverviewGrid mqog = new MessageQueryOverviewGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(mqog, "Message Queries"); } }; final Command showAttachmentGridCommand = new Command() { public void execute() { AttachmentOverviewGrid aog = new AttachmentOverviewGrid(mailxelService, mailxelPanel); mailxelPanel.addTab(aog, "Attachment Overview"); } }; final Command closeAllTabsCommand = new Command() { public void execute() { mailxelPanel.closeAllNonEditTabs(); } }; final Command dbHousekeeping = new Command() { public void execute() { final StatusItem si = mailxelPanel.statusStart("DB housekeeping"); mailxelService.housekeeping(new AsyncCallback<String>() { public void onFailure(Throwable caught) { si.error(caught); } public void onSuccess(String result) { if (result.startsWith("200 OK")) { si.done(); } else { si.error(result); } } }); } }; final Command messageCount = new Command() { public void execute() { updateCounts(); } }; additional.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { MenuBar popupMenuBar = new MenuBar(true); PopupPanel popupPanel = new PopupPanel(true); MenuItem menuItem = new MenuItem("Attachment Overview", showAttachmentGridCommand); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Close all Tabs", closeAllTabsCommand); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Message Queries", showMessageQueriesCommand); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("DB Housekeeping", dbHousekeeping); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("update pending messages count", messageCount); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Statistics", showStatisticsCommand); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Icons", showIconsCommand); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Import mbox file", importMboxCommand); importMboxCommand.setPopupPanel(popupPanel); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Address upload", addressUploadCommand); addressUploadCommand.setPopupPanel(popupPanel); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Welcome", showWelcomePanelCommand); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Delete existing configuration", deleteConfigCommand); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Update 'from me' flag", updateFromMeFlagCommand); popupMenuBar.addItem(menuItem); menuItem = new MenuItem("Update 'to me' flag", updateToMeFlagCommand); popupMenuBar.addItem(menuItem); popupMenuBar.setVisible(true); popupPanel.add(popupMenuBar); int x = additional.getAbsoluteLeft(); int y = additional.getAbsoluteTop(); popupPanel.setPopupPosition(x, y); popupPanel.show(); } }); updateCounts(); add(home); add(query); add(mailnew); add(noteToSelf); add(contacts); add(categories); add(download); add(reorgMailFolder); add(setup); add(login); add(additional); add(logo); add(msgCountAct); }
From source file:com.appspot.socialinquirer.client.SocialInquirer.java
License:Apache License
/** * Creates the menu bar.//from ww w.jav a 2s. co m * * @param constants the constants * @param user the user * @return the menu bar */ private MenuBar createMenuBar(final EverScribeConstants constants, final User user) { final boolean enabled = (user != null); final MenuBar menu = new MenuBar(); GWT.runAsync(new RunAsyncCallback() { public void onFailure(Throwable caught) { UiUtils.showErrorDialog(constants, constants.errorCodeDownloadFailed()); } public void onSuccess() { menu.setAutoOpen(true); menu.setAnimationEnabled(true); MenuItem homeMenuItem = new MenuItem(constants.homeMenuName(), new HistoryCommand(HistoryToken.Home)); homeMenuItem.setEnabled(enabled); menu.addItem(homeMenuItem); MenuBar networkMenuItem = new MenuBar(true); networkMenuItem.setAnimationEnabled(true); menu.addItem(new MenuItem(constants.networkMenuName(), networkMenuItem)); MenuItem nfMenuItem = new MenuItem(constants.followersMenuName(), new HistoryCommand(HistoryToken.Network_Followers)); nfMenuItem.setEnabled(enabled); networkMenuItem.addItem(nfMenuItem); nfMenuItem = new MenuItem(constants.followingMenuName(), new HistoryCommand(HistoryToken.Network_Following)); nfMenuItem.setEnabled(enabled); networkMenuItem.addItem(nfMenuItem); nfMenuItem = new MenuItem(constants.recommendedMenuName(), new HistoryCommand(HistoryToken.Network_Recommended)); nfMenuItem.setEnabled(enabled); networkMenuItem.addItem(nfMenuItem); MenuBar activityMenuItem = new MenuBar(true); activityMenuItem.setAnimationEnabled(true); menu.addItem(new MenuItem(constants.activityMenuName(), activityMenuItem)); MenuItem aMenuItem = new MenuItem(constants.tasksMenuName(), new HistoryCommand(HistoryToken.Activity_Tasks)); aMenuItem.setEnabled(enabled); activityMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.pollMenuName(), new HistoryCommand(HistoryToken.Activity_Polls)); aMenuItem.setEnabled(enabled); activityMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.quizMenuName(), new HistoryCommand(HistoryToken.Activity_Quizzes)); aMenuItem.setEnabled(enabled); activityMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.pagesMenuName(), new HistoryCommand(HistoryToken.Activity_Pages)); aMenuItem.setEnabled(enabled); activityMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.messagesMenuName(), new HistoryCommand(HistoryToken.Activity_Messages)); aMenuItem.setEnabled(enabled); activityMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.endorsementsMenuName(), new HistoryCommand(HistoryToken.Activity_Endorsements)); aMenuItem.setEnabled(enabled); activityMenuItem.addItem(aMenuItem); // MenuBar pagesMenuItem = new MenuBar(true); // pagesMenuItem.setAnimationEnabled(true); // menu.addItem(new MenuItem(constants.pagesMenuName(), // pagesMenuItem)); // aMenuItem = new MenuItem(constants // .followingMenuName(), new HistoryCommand(HistoryToken.Pages_Following)); // aMenuItem.setEnabled(enabled); // pagesMenuItem.addItem(aMenuItem); // aMenuItem = new MenuItem(constants // .ownedMenuName(), new HistoryCommand(HistoryToken.Pages_Created)); // aMenuItem.setEnabled(enabled); // pagesMenuItem.addItem(aMenuItem); // aMenuItem = new MenuItem(constants // .recommendedMenuName(), new HistoryCommand(HistoryToken.Pages_Recommended)); // aMenuItem.setEnabled(enabled); // pagesMenuItem.addItem(aMenuItem); MenuBar questionsMenuItem = new MenuBar(true); questionsMenuItem.setAnimationEnabled(true); menu.addItem(new MenuItem(constants.questionsMenuName(), questionsMenuItem)); aMenuItem = new MenuItem(constants.askedMenuName(), new HistoryCommand(HistoryToken.Questions_Asked)); aMenuItem.setEnabled(enabled); questionsMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.answeredMenuName(), new HistoryCommand(HistoryToken.Questions_Answered)); aMenuItem.setEnabled(enabled); questionsMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.followingMenuName(), new HistoryCommand(HistoryToken.Questions_Following)); aMenuItem.setEnabled(enabled); questionsMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.recommendedMenuName(), new HistoryCommand(HistoryToken.Questions_Recommended)); aMenuItem.setEnabled(enabled); questionsMenuItem.addItem(aMenuItem); MenuBar tagsMenuItem = new MenuBar(true); tagsMenuItem.setAnimationEnabled(true); menu.addItem(new MenuItem(constants.tagsMenuName(), tagsMenuItem)); aMenuItem = new MenuItem(constants.ownedMenuName(), new HistoryCommand(HistoryToken.Topics_Active)); aMenuItem.setEnabled(enabled); tagsMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.followingMenuName(), new HistoryCommand(HistoryToken.Topics_Following)); aMenuItem.setEnabled(enabled); tagsMenuItem.addItem(aMenuItem); aMenuItem = new MenuItem(constants.recommendedMenuName(), new HistoryCommand(HistoryToken.Topics_Recommended)); aMenuItem.setEnabled(enabled); tagsMenuItem.addItem(aMenuItem); MenuBar accountMenu = new MenuBar(true); accountMenu.setAnimationEnabled(true); menu.addItem(new MenuItem(constants.accountMenuName(), accountMenu)); MenuItem loginMenuItem = new MenuItem(constants.loginMenuName(), new LoginCommand(constants)); loginMenuItem.setEnabled(!enabled); accountMenu.addItem(loginMenuItem); MenuItem logoutMenuItem = new MenuItem(constants.logoutMenuName(), new LogoutCommand(constants)); logoutMenuItem.setEnabled(enabled); accountMenu.addItem(logoutMenuItem); MenuItem settingsMenuItem = new MenuItem(constants.settingsMenuName(), new HistoryCommand(HistoryToken.Settings)); settingsMenuItem.setEnabled(enabled); accountMenu.addItem(settingsMenuItem); } }); return menu; }
From source file:com.bearsoft.gwt.ui.widgets.grid.Grid.java
public Grid(ProvidesKey<T> aKeyProvider) { super();//www . ja va 2 s. com getElement().getStyle().setPosition(Style.Position.RELATIVE); getElement().appendChild(tdsStyleElement); getElement().appendChild(cellsStyleElement); getElement().appendChild(oddRowsStyleElement); getElement().appendChild(evenRowsStyleElement); setRowsHeight(25); hive = new FlexTable(); setWidget(hive); hive.setCellPadding(0); hive.setCellSpacing(0); hive.setBorderWidth(0); headerLeft = new GridSection<T>(aKeyProvider); headerLeftContainer = new ScrollPanel(headerLeft); headerRight = new GridSection<T>(aKeyProvider); headerRightContainer = new ScrollPanel(headerRight); frozenLeft = new GridSection<T>(aKeyProvider) { @Override protected void replaceAllChildren(List<T> values, SafeHtml html) { super.replaceAllChildren(values, html); footerLeft.redrawFooters(); } @Override protected void replaceChildren(List<T> values, int start, SafeHtml html) { super.replaceChildren(values, start, html); footerLeft.redrawFooters(); } }; frozenLeftContainer = new ScrollPanel(frozenLeft); frozenRight = new GridSection<T>(aKeyProvider) { @Override protected void replaceAllChildren(List<T> values, SafeHtml html) { super.replaceAllChildren(values, html); footerRight.redrawFooters(); } @Override protected void replaceChildren(List<T> values, int start, SafeHtml html) { super.replaceChildren(values, start, html); footerRight.redrawFooters(); } }; frozenRightContainer = new ScrollPanel(frozenRight); scrollableLeft = new GridSection<T>(aKeyProvider) { @Override protected void replaceAllChildren(List<T> values, SafeHtml html) { super.replaceAllChildren(values, html); footerLeft.redrawFooters(); } @Override protected void replaceChildren(List<T> values, int start, SafeHtml html) { super.replaceChildren(values, start, html); footerLeft.redrawFooters(); } }; scrollableLeftContainer = new ScrollPanel(scrollableLeft); scrollableRight = new GridSection<T>(aKeyProvider) { @Override protected void replaceAllChildren(List<T> values, SafeHtml html) { super.replaceAllChildren(values, html); footerRight.redrawFooters(); } @Override protected void replaceChildren(List<T> values, int start, SafeHtml html) { super.replaceChildren(values, start, html); footerRight.redrawFooters(); } }; scrollableRightContainer = new ScrollPanel(scrollableRight); footerLeft = new GridSection<>(aKeyProvider); footerLeftContainer = new ScrollPanel(footerLeft); footerRight = new GridSection<>(aKeyProvider); footerRightContainer = new ScrollPanel(footerRight); // positioning context / overflow setup // overflow for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer, frozenRightContainer, scrollableLeftContainer, footerLeftContainer, footerRightContainer }) { w.getElement().getStyle().setOverflow(Style.Overflow.HIDDEN); } // scrollableRightContainer.getElement().getStyle().setOverflow(Style.Overflow.AUTO); // default value // context for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer, frozenRightContainer, scrollableLeftContainer, scrollableRightContainer, footerLeftContainer, footerRightContainer }) { w.getElement().getFirstChildElement().getStyle().setPosition(Style.Position.ABSOLUTE); } // propagation of some widths headerLeft.setWidthPropagator(new GridWidthPropagator<T>(headerLeft) { @Override public void changed() { super.changed(); propagateHeaderWidth(); } }); for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenLeft, frozenRight, scrollableLeft, scrollableRight, footerLeft, footerRight }) { section.setWidthPropagator(new GridWidthPropagator<>(section)); } headerLeft.setColumnsPartners(new AbstractCellTable[] { frozenLeft, scrollableLeft, footerLeft }); headerRight.setColumnsPartners(new AbstractCellTable[] { frozenRight, scrollableRight, footerRight }); ColumnsRemover leftColumnsRemover = new ColumnsRemoverAdapter<T>(headerLeft, frozenLeft, scrollableLeft, footerLeft); ColumnsRemover rightColumnsRemover = new ColumnsRemoverAdapter<T>(headerRight, frozenRight, scrollableRight, footerRight); for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerLeft, frozenLeft, scrollableLeft, footerLeft }) { section.setColumnsRemover(leftColumnsRemover); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenRight, scrollableRight, footerRight }) { section.setColumnsRemover(rightColumnsRemover); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { frozenLeft, scrollableLeft, footerLeft }) { section.setHeaderSource(headerLeft); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { frozenRight, scrollableRight, footerRight }) { section.setHeaderSource(headerRight); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerLeft, frozenLeft, scrollableLeft }) { section.setFooterSource(footerLeft); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenRight, scrollableRight }) { section.setFooterSource(footerRight); } // hive organization hive.setWidget(0, 0, headerLeftContainer); hive.setWidget(0, 1, headerRightContainer); hive.setWidget(1, 0, frozenLeftContainer); hive.setWidget(1, 1, frozenRightContainer); hive.setWidget(2, 0, scrollableLeftContainer); hive.setWidget(2, 1, scrollableRightContainer); hive.setWidget(3, 0, footerLeftContainer); hive.setWidget(3, 1, footerRightContainer); for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer, frozenRightContainer, scrollableLeftContainer, scrollableRightContainer, footerLeftContainer, footerRightContainer }) { w.setWidth("100%"); w.setHeight("100%"); } // misc for (Widget w : new Widget[] { headerRightContainer, frozenRightContainer, footerRightContainer, scrollableLeftContainer }) { w.getElement().getParentElement().getStyle().setOverflow(Style.Overflow.HIDDEN); } hive.getElement().getStyle().setTableLayout(Style.TableLayout.FIXED); hive.getElement().getStyle().setPosition(Style.Position.RELATIVE); for (CellTable<?> tbl : new CellTable<?>[] { headerLeft, headerRight, frozenLeft, frozenRight, scrollableLeft, scrollableRight, footerLeft, footerRight }) { tbl.setTableLayoutFixed(true); } // header headerLeft.setHeaderBuilder(new ThemedHeaderOrFooterBuilder<T>(headerLeft, false, this)); headerLeft.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(headerLeft, true)); headerRight.setHeaderBuilder(new ThemedHeaderOrFooterBuilder<T>(headerRight, false, this)); headerRight.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(headerRight, true)); // footer footerLeft.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(footerLeft, false)); footerLeft.setFooterBuilder(new ThemedHeaderOrFooterBuilder<T>(footerLeft, true)); footerRight.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(footerRight, false)); footerRight.setFooterBuilder(new ThemedHeaderOrFooterBuilder<T>(footerRight, true)); // data bodies for (GridSection<?> section : new GridSection<?>[] { frozenLeft, frozenRight, scrollableLeft, scrollableRight }) { GridSection<T> gSection = (GridSection<T>) section; gSection.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(gSection, false)); gSection.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(gSection, true)); } for (GridSection<?> section : new GridSection<?>[] { headerLeft, headerRight, frozenLeft, frozenRight, scrollableLeft, scrollableRight, footerLeft, footerRight }) { section.setAutoHeaderRefreshDisabled(true); } for (GridSection<?> section : new GridSection<?>[] { headerLeft, headerRight, footerLeft, footerRight }) { section.setAutoFooterRefreshDisabled(true); } // cells installCellBuilders(); scrollableRightContainer.addScrollHandler(new ScrollHandler() { @Override public void onScroll(ScrollEvent event) { int aimTop = scrollableRightContainer.getElement().getScrollTop(); int aimLeft = scrollableRightContainer.getElement().getScrollLeft(); scrollableLeftContainer.getElement().setScrollTop(aimTop); int factTopDelta = aimTop - scrollableLeftContainer.getElement().getScrollTop(); if (factTopDelta > 0) { scrollableLeftContainer.getElement().getStyle().setBottom(factTopDelta, Style.Unit.PX); } else { scrollableLeftContainer.getElement().getStyle().clearBottom(); } headerRightContainer.getElement().setScrollLeft(aimLeft); int factLeftDelta0 = aimLeft - headerRightContainer.getElement().getScrollLeft(); if (factLeftDelta0 > 0) { headerRightContainer.getElement().getStyle().setRight(factLeftDelta0, Style.Unit.PX); } else { headerRightContainer.getElement().getStyle().clearRight(); } frozenRightContainer.getElement().setScrollLeft(aimLeft); int factLeftDelta1 = aimLeft - frozenRightContainer.getElement().getScrollLeft(); if (factLeftDelta1 > 0) { frozenRightContainer.getElement().getStyle().setRight(factLeftDelta1, Style.Unit.PX); } else { frozenRightContainer.getElement().getStyle().clearRight(); } footerRightContainer.getElement() .setScrollLeft(scrollableRightContainer.getElement().getScrollLeft()); int factLeftDelta2 = aimLeft - footerRightContainer.getElement().getScrollLeft(); if (factLeftDelta2 > 0) { footerRightContainer.getElement().getStyle().setRight(factLeftDelta2, Style.Unit.PX); } else { footerRightContainer.getElement().getStyle().clearRight(); } } }); ghostLine = Document.get().createDivElement(); ghostLine.addClassName(RULER_STYLE); ghostLine.getStyle().setPosition(Style.Position.ABSOLUTE); ghostLine.getStyle().setTop(0, Style.Unit.PX); ghostColumn = Document.get().createDivElement(); ghostColumn.addClassName(COLUMN_PHANTOM_STYLE); ghostColumn.getStyle().setPosition(Style.Position.ABSOLUTE); ghostColumn.getStyle().setTop(0, Style.Unit.PX); addDomHandler(new DragEnterHandler() { @Override public void onDragEnter(DragEnterEvent event) { if (DraggedColumn.instance != null) { if (DraggedColumn.instance.isMove()) { event.preventDefault(); event.stopPropagation(); DraggedColumn<T> target = findTargetDraggedColumn(event.getNativeEvent().getEventTarget()); if (target != null) { showColumnMoveDecorations(target); event.getDataTransfer().<XDataTransfer>cast().setDropEffect("move"); } else { event.getDataTransfer().<XDataTransfer>cast().setDropEffect("none"); } } else { } } else { event.getDataTransfer().<XDataTransfer>cast().setDropEffect("none"); } } }, DragEnterEvent.getType()); addDomHandler(new DragHandler() { @Override public void onDrag(DragEvent event) { if (DraggedColumn.instance != null && DraggedColumn.instance.isResize()) { event.stopPropagation(); /* int newWidth = event.getNativeEvent().getClientX() - DraggedColumn.instance.getCellElement().getAbsoluteLeft(); if (newWidth > MINIMUM_COLUMN_WIDTH) { event.getDataTransfer().<XDataTransfer> cast().setDropEffect("move"); } else { event.getDataTransfer().<XDataTransfer> cast().setDropEffect("none"); } */ } } }, DragEvent.getType()); addDomHandler(new DragOverHandler() { @Override public void onDragOver(DragOverEvent event) { if (DraggedColumn.instance != null) { event.preventDefault(); event.stopPropagation(); if (DraggedColumn.instance.isMove()) { DraggedColumn<T> target = findTargetDraggedColumn(event.getNativeEvent().getEventTarget()); if (target != null) { event.getDataTransfer().<XDataTransfer>cast().setDropEffect("move"); } else { hideColumnDecorations(); event.getDataTransfer().<XDataTransfer>cast().setDropEffect("none"); } } else { Element hostElement = Grid.this.getElement(); int clientX = event.getNativeEvent().getClientX(); int hostAbsX = hostElement.getAbsoluteLeft(); int hostScrollX = hostElement.getScrollLeft(); int docScrollX = hostElement.getOwnerDocument().getScrollLeft(); int relativeX = clientX - hostAbsX + hostScrollX + docScrollX; ghostLine.getStyle().setLeft(relativeX, Style.Unit.PX); ghostLine.getStyle().setHeight(hostElement.getClientHeight(), Style.Unit.PX); if (ghostLine.getParentElement() != hostElement) { hostElement.appendChild(ghostLine); } } } } }, DragOverEvent.getType()); addDomHandler(new DragLeaveHandler() { @Override public void onDragLeave(DragLeaveEvent event) { if (DraggedColumn.instance != null) { event.stopPropagation(); if (DraggedColumn.instance.isMove()) { if (event.getNativeEvent().getEventTarget() == (JavaScriptObject) Grid.this.getElement()) { hideColumnDecorations(); } } } } }, DragLeaveEvent.getType()); addDomHandler(new DragEndHandler() { @Override public void onDragEnd(DragEndEvent event) { event.stopPropagation(); hideColumnDecorations(); DraggedColumn.instance = null; } }, DragEndEvent.getType()); addDomHandler(new DropHandler() { @Override public void onDrop(DropEvent event) { DraggedColumn<?> source = DraggedColumn.instance; DraggedColumn<T> target = targetDraggedColumn; hideColumnDecorations(); DraggedColumn.instance = null; if (source != null) { event.preventDefault(); event.stopPropagation(); if (source.isMove()) { AbstractCellTable<T> sourceSection = (AbstractCellTable<T>) source.getTable(); // target table may be any section in our grid if (target != null) { Header<?> sourceHeader = source.getHeader(); Header<?> targetHeader = target.getHeader(); if (sourceHeader instanceof DraggableHeader<?> && targetHeader instanceof DraggableHeader<?>) { DraggableHeader<T> sourceDH = (DraggableHeader<T>) sourceHeader; DraggableHeader<T> targetDH = (DraggableHeader<T>) targetHeader; moveColumnNode(sourceDH.getHeaderNode(), targetDH.getHeaderNode()); } else { int sourceIndex = source.getColumnIndex(); int targetIndex = target.getColumnIndex(); GridSection<T> targetSection = (GridSection<T>) target.getTable(); boolean isSourceLeft = sourceSection == headerLeft || sourceSection == frozenLeft || sourceSection == scrollableLeft || sourceSection == footerLeft; boolean isTargetLeft = targetSection == headerLeft || targetSection == frozenLeft || targetSection == scrollableLeft || targetSection == footerLeft; sourceSection = isSourceLeft ? headerLeft : headerRight; targetSection = isTargetLeft ? headerLeft : headerRight; int generalSourceIndex = isSourceLeft ? sourceIndex : sourceIndex + frozenColumns; int generalTargetIndex = isTargetLeft ? targetIndex : targetIndex + frozenColumns; Header<?> header = sourceSection.getHeader(sourceIndex); if (header instanceof DraggableHeader) { ((DraggableHeader) header).setTable(targetSection); } if (generalSourceIndex != generalTargetIndex) { Column<T, ?> column = (Column<T, ?>) source.getColumn(); if (!(header instanceof DraggableHeader) || ((DraggableHeader) header).isMoveable()) { moveColumn(generalSourceIndex, generalTargetIndex); } } } } } else { Header<?> header = source.getHeader(); if (!(header instanceof DraggableHeader) || ((DraggableHeader) header).isResizable()) { int newWidth = Math.max( event.getNativeEvent().getClientX() - source.getCellElement().getAbsoluteLeft(), MINIMUM_COLUMN_WIDTH); // Source and target tables are the same, so we can // cast to DraggedColumn<T> with no care setColumnWidthFromHeaderDrag(((DraggedColumn<T>) source).getColumn(), newWidth, Style.Unit.PX); } } } } }, DropEvent.getType()); columnsChevron.getElement().getStyle().setPosition(Style.Position.ABSOLUTE); columnsChevron.getElement().addClassName(COLUMNS_CHEVRON_STYLE); getElement().appendChild(columnsChevron.getElement()); columnsChevron.addDomHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { PopupPanel pp = new PopupPanel(); pp.setAutoHideEnabled(true); pp.setAutoHideOnHistoryEventsEnabled(true); pp.setAnimationEnabled(true); MenuBar columnsMenu = new MenuBar(true); fillColumns(columnsMenu, headerLeft); fillColumns(columnsMenu, headerRight); pp.setWidget(columnsMenu); pp.setPopupPosition(columnsChevron.getAbsoluteLeft(), columnsChevron.getAbsoluteTop()); pp.showRelativeTo(columnsChevron); } private void fillColumns(MenuBar aTarget, final GridSection<T> aSection) { for (int i = 0; i < aSection.getColumnCount(); i++) { Header<?> h = aSection.getHeader(i); final Column<T, ?> column = aSection.getColumn(i); SafeHtml rendered; if (h.getValue() instanceof String) { String hVal = (String) h.getValue(); rendered = hVal.startsWith("<html>") ? SafeHtmlUtils.fromTrustedString(hVal.substring(6)) : SafeHtmlUtils.fromString(hVal); } else { Cell.Context context = new Cell.Context(0, i, h.getKey()); SafeHtmlBuilder sb = new SafeHtmlBuilder(); h.render(context, sb); rendered = sb.toSafeHtml(); } MenuItemCheckBox miCheck = new MenuItemCheckBox(!aSection.isColumnHidden(column), rendered.asString(), true); miCheck.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { if (Boolean.TRUE.equals(event.getValue())) { showColumn(column); } else { hideColumn(column); } Grid.this.onResize(); } }); aTarget.addItem(miCheck); } } }, ClickEvent.getType()); ColumnSortEvent.Handler sectionSortHandler = new ColumnSortEvent.Handler() { @Override public void onColumnSort(ColumnSortEvent event) { boolean isCtrlKey = ((GridSection<?>) event.getSource()).isCtrlKey(); boolean contains = false; int containsAt = -1; for (int i = 0; i < sortList.size(); i++) { if (sortList.get(i).getColumn() == event.getColumn()) { contains = true; containsAt = i; break; } } if (!contains) { if (!isCtrlKey) { sortList.clear(); } sortList.insert(sortList.size(), new ColumnSortList.ColumnSortInfo(event.getColumn(), true)); } else { boolean wasAscending = sortList.get(containsAt).isAscending(); if (!isCtrlKey) { sortList.clear(); if (wasAscending) { sortList.push(new ColumnSortList.ColumnSortInfo(event.getColumn(), false)); } } else { sortList.remove(sortList.get(containsAt)); if (wasAscending) { sortList.insert(containsAt, new ColumnSortList.ColumnSortInfo(event.getColumn(), false)); } } } ColumnSortEvent.fire(Grid.this, sortList); } }; headerLeft.getColumnSortList().setLimit(1); headerLeft.addColumnSortHandler(sectionSortHandler); headerRight.getColumnSortList().setLimit(1); headerRight.addColumnSortHandler(sectionSortHandler); gridColor = PublishedColor.create(211, 211, 211, 255); regenerateDynamicTDStyles(); regenerateDynamicOddRowsStyles(); getElement().<XElement>cast().addResizingTransitionEnd(this); }
From source file:com.codenvy.ide.client.elements.widgets.element.ElementViewImpl.java
License:Open Source License
private void preparePopup(@Nonnull Element element) { MenuBar menuBar = new MenuBar(true); menuBar.addStyleName(resources.editorCSS().branchBackground()); menuBar.addStyleName(resources.editorCSS().gwtMenuItemSelected()); MenuItem delete = new MenuItem("Delete", true, new Command() { @Override/*from w ww .java 2 s . c o m*/ public void execute() { delegate.onDeleteActionClicked(); } }); menuBar.addItem(delete); menuBar.setAutoOpen(true); if (element.isPossibleToAddBranches()) { MenuItem amountOfBranches = new MenuItem("Number of branches", true, new Command() { @Override public void execute() { delegate.onChangeNumberBranchesActionClicked(); } }); menuBar.addItem(amountOfBranches); } popup = new PopupPanel(true, true); popup.add(menuBar); }
From source file:com.eas.grid.Grid.java
public Grid(ProvidesKey<T> aKeyProvider) { super();// w w w. j a v a 2 s. c om getElement().getStyle().setPosition(Style.Position.RELATIVE); getElement().appendChild(tdsStyleElement); getElement().appendChild(cellsStyleElement); getElement().appendChild(oddRowsStyleElement); getElement().appendChild(evenRowsStyleElement); setRowsHeight(30); hive = new FlexTable(); setWidget(hive); hive.setCellPadding(0); hive.setCellSpacing(0); hive.setBorderWidth(0); headerLeft = new GridSection<T>(aKeyProvider); headerLeftContainer = new ScrollPanel(headerLeft); headerRight = new GridSection<T>(aKeyProvider); headerRightContainer = new ScrollPanel(headerRight); frozenLeft = new GridSection<T>(aKeyProvider) { @Override protected void replaceAllChildren(List<T> values, SafeHtml html) { super.replaceAllChildren(values, html); footerLeft.redrawFooters(); frozenLeftRendered(); } @Override protected void replaceChildren(List<T> values, int start, SafeHtml html) { super.replaceChildren(values, start, html); footerLeft.redrawFooters(); frozenLeftRendered(); } @Override protected void onFocus() { super.onFocus(); Element focused = getKeyboardSelectedElement(); if (focused != null) focused.setTabIndex(tabIndex); FocusEvent.fireNativeEvent(Document.get().createFocusEvent(), Grid.this); } @Override protected void onBlur() { super.onBlur(); FocusEvent.fireNativeEvent(Document.get().createBlurEvent(), Grid.this); } }; frozenLeftContainer = new ScrollPanel(frozenLeft); frozenRight = new GridSection<T>(aKeyProvider) { @Override protected void replaceAllChildren(List<T> values, SafeHtml html) { super.replaceAllChildren(values, html); footerRight.redrawFooters(); frozenRightRendered(); } @Override protected void replaceChildren(List<T> values, int start, SafeHtml html) { super.replaceChildren(values, start, html); footerRight.redrawFooters(); frozenRightRendered(); } @Override protected void onFocus() { super.onFocus(); Element focused = getKeyboardSelectedElement(); if (focused != null) focused.setTabIndex(tabIndex); FocusEvent.fireNativeEvent(Document.get().createFocusEvent(), Grid.this); } @Override protected void onBlur() { super.onBlur(); FocusEvent.fireNativeEvent(Document.get().createBlurEvent(), Grid.this); } }; frozenRightContainer = new ScrollPanel(frozenRight); scrollableLeft = new GridSection<T>(aKeyProvider) { @Override protected void replaceAllChildren(List<T> values, SafeHtml html) { super.replaceAllChildren(values, html); footerLeft.redrawFooters(); scrollableLeftRendered(); } @Override protected void replaceChildren(List<T> values, int start, SafeHtml html) { super.replaceChildren(values, start, html); footerLeft.redrawFooters(); scrollableLeftRendered(); } @Override protected void onFocus() { super.onFocus(); Element focused = getKeyboardSelectedElement(); if (focused != null) focused.setTabIndex(tabIndex); FocusEvent.fireNativeEvent(Document.get().createFocusEvent(), Grid.this); } @Override protected void onBlur() { super.onBlur(); FocusEvent.fireNativeEvent(Document.get().createBlurEvent(), Grid.this); } }; scrollableLeftContainer = new ScrollPanel(scrollableLeft); scrollableRight = new GridSection<T>(aKeyProvider) { @Override protected void replaceAllChildren(List<T> values, SafeHtml html) { super.replaceAllChildren(values, html); footerRight.redrawFooters(); scrollableRightRendered(); } @Override protected void replaceChildren(List<T> values, int start, SafeHtml html) { super.replaceChildren(values, start, html); footerRight.redrawFooters(); scrollableRightRendered(); } @Override protected void onFocus() { super.onFocus(); Element focused = getKeyboardSelectedElement(); if (focused != null) focused.setTabIndex(tabIndex); FocusEvent.fireNativeEvent(Document.get().createFocusEvent(), Grid.this); } @Override protected void onBlur() { super.onBlur(); FocusEvent.fireNativeEvent(Document.get().createBlurEvent(), Grid.this); } }; scrollableRightContainer = new ScrollPanel(scrollableRight); footerLeft = new GridSection<>(aKeyProvider); footerLeftContainer = new ScrollPanel(footerLeft); footerRight = new GridSection<>(aKeyProvider); footerRightContainer = new ScrollPanel(footerRight); // positioning context / overflow setup // overflow for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer, frozenRightContainer, scrollableLeftContainer, footerLeftContainer, footerRightContainer }) { w.getElement().getStyle().setOverflow(Style.Overflow.HIDDEN); } // scrollableRightContainer.getElement().getStyle().setOverflow(Style.Overflow.AUTO); // default value // context for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer, frozenRightContainer, scrollableLeftContainer, scrollableRightContainer, footerLeftContainer, footerRightContainer }) { w.getElement().getFirstChildElement().getStyle().setPosition(Style.Position.ABSOLUTE); } // propagation of some widths headerLeft.setWidthPropagator(new GridWidthPropagator<T>(headerLeft) { @Override public void changed() { super.changed(); propagateHeaderWidth(); } }); for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenLeft, frozenRight, scrollableLeft, scrollableRight, footerLeft, footerRight }) { section.setWidthPropagator(new GridWidthPropagator<>(section)); } headerLeft.setColumnsPartners(new AbstractCellTable[] { frozenLeft, scrollableLeft, footerLeft }); headerRight.setColumnsPartners(new AbstractCellTable[] { frozenRight, scrollableRight, footerRight }); ColumnsRemover leftColumnsRemover = new ColumnsRemoverAdapter<T>(headerLeft, frozenLeft, scrollableLeft, footerLeft); ColumnsRemover rightColumnsRemover = new ColumnsRemoverAdapter<T>(headerRight, frozenRight, scrollableRight, footerRight); for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerLeft, frozenLeft, scrollableLeft, footerLeft }) { section.setColumnsRemover(leftColumnsRemover); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenRight, scrollableRight, footerRight }) { section.setColumnsRemover(rightColumnsRemover); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { frozenLeft, scrollableLeft, footerLeft }) { section.setHeaderSource(headerLeft); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { frozenRight, scrollableRight, footerRight }) { section.setHeaderSource(headerRight); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerLeft, frozenLeft, scrollableLeft }) { section.setFooterSource(footerLeft); } for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenRight, scrollableRight }) { section.setFooterSource(footerRight); } // hive organization hive.setWidget(0, 0, headerLeftContainer); hive.setWidget(0, 1, headerRightContainer); hive.setWidget(1, 0, frozenLeftContainer); hive.setWidget(1, 1, frozenRightContainer); hive.setWidget(2, 0, scrollableLeftContainer); hive.setWidget(2, 1, scrollableRightContainer); hive.setWidget(3, 0, footerLeftContainer); hive.setWidget(3, 1, footerRightContainer); for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer, frozenRightContainer, scrollableLeftContainer, scrollableRightContainer, footerLeftContainer, footerRightContainer }) { w.setWidth("100%"); w.setHeight("100%"); } // misc for (Widget w : new Widget[] { headerRightContainer, frozenRightContainer, footerRightContainer, scrollableLeftContainer }) { w.getElement().getParentElement().getStyle().setOverflow(Style.Overflow.HIDDEN); } hive.getElement().getStyle().setTableLayout(Style.TableLayout.FIXED); hive.getElement().getStyle().setPosition(Style.Position.RELATIVE); for (CellTable<?> tbl : new CellTable<?>[] { headerLeft, headerRight, frozenLeft, frozenRight, scrollableLeft, scrollableRight, footerLeft, footerRight }) { tbl.setTableLayoutFixed(true); } // header headerLeft.setHeaderBuilder(new ThemedHeaderOrFooterBuilder<T>(headerLeft, false, this)); headerLeft.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(headerLeft, true)); headerRight.setHeaderBuilder(new ThemedHeaderOrFooterBuilder<T>(headerRight, false, this)); headerRight.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(headerRight, true)); // footer footerLeft.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(footerLeft, false)); footerLeft.setFooterBuilder(new ThemedHeaderOrFooterBuilder<T>(footerLeft, true)); footerRight.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(footerRight, false)); footerRight.setFooterBuilder(new ThemedHeaderOrFooterBuilder<T>(footerRight, true)); // data bodies for (GridSection<?> section : new GridSection<?>[] { frozenLeft, frozenRight, scrollableLeft, scrollableRight }) { GridSection<T> gSection = (GridSection<T>) section; gSection.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(gSection, false)); gSection.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(gSection, true)); } for (GridSection<?> section : new GridSection<?>[] { headerLeft, headerRight, frozenLeft, frozenRight, scrollableLeft, scrollableRight, footerLeft, footerRight }) { section.setAutoHeaderRefreshDisabled(true); } for (GridSection<?> section : new GridSection<?>[] { headerLeft, headerRight, footerLeft, footerRight }) { section.setAutoFooterRefreshDisabled(true); } // cells installCellBuilders(); scrollableRightContainer.addScrollHandler(new ScrollHandler() { @Override public void onScroll(ScrollEvent event) { int aimLeft = scrollableRightContainer.getElement().getScrollLeft(); if (isHeaderVisible()) { headerRightContainer.getElement().setScrollLeft(aimLeft); int factLeftDelta0 = aimLeft - headerRightContainer.getElement().getScrollLeft(); if (factLeftDelta0 > 0) { headerRightContainer.getElement().getStyle().setRight(factLeftDelta0, Style.Unit.PX); } else { headerRightContainer.getElement().getStyle().clearRight(); } } if (frozenColumns > 0 || frozenRows > 0) { int aimTop = scrollableRightContainer.getElement().getScrollTop(); scrollableLeftContainer.getElement().setScrollTop(aimTop); int factTopDelta = aimTop - scrollableLeftContainer.getElement().getScrollTop(); if (factTopDelta > 0) { scrollableLeftContainer.getElement().getStyle().setBottom(factTopDelta, Style.Unit.PX); } else { scrollableLeftContainer.getElement().getStyle().clearBottom(); } frozenRightContainer.getElement().setScrollLeft(aimLeft); int factLeftDelta1 = aimLeft - frozenRightContainer.getElement().getScrollLeft(); if (factLeftDelta1 > 0) { frozenRightContainer.getElement().getStyle().setRight(factLeftDelta1, Style.Unit.PX); } else { frozenRightContainer.getElement().getStyle().clearRight(); } footerRightContainer.getElement() .setScrollLeft(scrollableRightContainer.getElement().getScrollLeft()); int factLeftDelta2 = aimLeft - footerRightContainer.getElement().getScrollLeft(); if (factLeftDelta2 > 0) { footerRightContainer.getElement().getStyle().setRight(factLeftDelta2, Style.Unit.PX); } else { footerRightContainer.getElement().getStyle().clearRight(); } } } }); ghostLine = Document.get().createDivElement(); ghostLine.addClassName(RULER_STYLE); ghostLine.getStyle().setPosition(Style.Position.ABSOLUTE); ghostLine.getStyle().setTop(0, Style.Unit.PX); ghostColumn = Document.get().createDivElement(); ghostColumn.addClassName(COLUMN_PHANTOM_STYLE); ghostColumn.getStyle().setPosition(Style.Position.ABSOLUTE); ghostColumn.getStyle().setTop(0, Style.Unit.PX); addDomHandler(new DragEnterHandler() { @Override public void onDragEnter(DragEnterEvent event) { if (DraggedColumn.instance != null) { if (DraggedColumn.instance.isMove()) { event.preventDefault(); event.stopPropagation(); DraggedColumn<T> target = findTargetDraggedColumn(event.getNativeEvent().getEventTarget()); if (target != null) { showColumnMoveDecorations(target); event.getDataTransfer().<XDataTransfer>cast().setDropEffect("move"); } else { event.getDataTransfer().<XDataTransfer>cast().setDropEffect("none"); } } else { } } } }, DragEnterEvent.getType()); addDomHandler(new DragHandler() { @Override public void onDrag(DragEvent event) { if (DraggedColumn.instance != null && DraggedColumn.instance.isResize()) { event.stopPropagation(); } } }, DragEvent.getType()); addDomHandler(new DragOverHandler() { @Override public void onDragOver(DragOverEvent event) { if (DraggedColumn.instance != null) { event.preventDefault(); event.stopPropagation(); if (DraggedColumn.instance.isMove()) { DraggedColumn<T> target = findTargetDraggedColumn(event.getNativeEvent().getEventTarget()); if (target != null) { event.getDataTransfer().<XDataTransfer>cast().setDropEffect("move"); } else { hideColumnDecorations(); event.getDataTransfer().<XDataTransfer>cast().setDropEffect("none"); } } else { Element hostElement = Grid.this.getElement(); int clientX = event.getNativeEvent().getClientX(); int hostAbsX = hostElement.getAbsoluteLeft(); int hostScrollX = hostElement.getScrollLeft(); int docScrollX = hostElement.getOwnerDocument().getScrollLeft(); int relativeX = clientX - hostAbsX + hostScrollX + docScrollX; ghostLine.getStyle().setLeft(relativeX, Style.Unit.PX); ghostLine.getStyle().setHeight(hostElement.getClientHeight(), Style.Unit.PX); if (ghostLine.getParentElement() != hostElement) { hostElement.appendChild(ghostLine); } } } } }, DragOverEvent.getType()); addDomHandler(new DragLeaveHandler() { @Override public void onDragLeave(DragLeaveEvent event) { if (DraggedColumn.instance != null) { event.stopPropagation(); if (DraggedColumn.instance.isMove()) { if (event.getNativeEvent().getEventTarget() == (JavaScriptObject) Grid.this.getElement()) { hideColumnDecorations(); } } } } }, DragLeaveEvent.getType()); addDomHandler(new DragEndHandler() { @Override public void onDragEnd(DragEndEvent event) { if (DraggedColumn.instance != null) { event.stopPropagation(); hideColumnDecorations(); DraggedColumn.instance = null; } } }, DragEndEvent.getType()); addDomHandler(new DropHandler() { @Override public void onDrop(DropEvent event) { DraggedColumn<?> source = DraggedColumn.instance; DraggedColumn<T> target = targetDraggedColumn; hideColumnDecorations(); DraggedColumn.instance = null; if (source != null) { event.preventDefault(); event.stopPropagation(); if (source.isMove()) { AbstractCellTable<T> sourceSection = (AbstractCellTable<T>) source.getTable(); // target table may be any section in our grid if (target != null) { Header<?> sourceHeader = source.getHeader(); Header<?> targetHeader = target.getHeader(); if (sourceHeader instanceof DraggableHeader<?> && targetHeader instanceof DraggableHeader<?>) { DraggableHeader<T> sourceDH = (DraggableHeader<T>) sourceHeader; DraggableHeader<T> targetDH = (DraggableHeader<T>) targetHeader; moveColumnNode(sourceDH.getHeaderNode(), targetDH.getHeaderNode()); } else { int sourceIndex = source.getColumnIndex(); int targetIndex = target.getColumnIndex(); GridSection<T> targetSection = (GridSection<T>) target.getTable(); boolean isSourceLeft = sourceSection == headerLeft || sourceSection == frozenLeft || sourceSection == scrollableLeft || sourceSection == footerLeft; boolean isTargetLeft = targetSection == headerLeft || targetSection == frozenLeft || targetSection == scrollableLeft || targetSection == footerLeft; sourceSection = isSourceLeft ? headerLeft : headerRight; targetSection = isTargetLeft ? headerLeft : headerRight; int generalSourceIndex = isSourceLeft ? sourceIndex : sourceIndex + frozenColumns; int generalTargetIndex = isTargetLeft ? targetIndex : targetIndex + frozenColumns; Header<?> header = sourceSection.getHeader(sourceIndex); if (header instanceof DraggableHeader) { ((DraggableHeader) header).setTable(targetSection); } if (generalSourceIndex != generalTargetIndex) { Column<T, ?> column = (Column<T, ?>) source.getColumn(); if (!(header instanceof DraggableHeader) || ((DraggableHeader) header).isMoveable()) { moveColumn(generalSourceIndex, generalTargetIndex); } } } } } else { Header<?> header = source.getHeader(); if (!(header instanceof DraggableHeader) || ((DraggableHeader) header).isResizable()) { int newWidth = Math.max( event.getNativeEvent().getClientX() - source.getCellElement().getAbsoluteLeft(), MINIMUM_COLUMN_WIDTH); // Source and target tables are the same, so we can // cast to DraggedColumn<T> with no care setColumnWidthFromHeaderDrag(((DraggedColumn<T>) source).getColumn(), newWidth, Style.Unit.PX); } } } } }, DropEvent.getType()); columnsChevron.getElement().getStyle().setPosition(Style.Position.ABSOLUTE); columnsChevron.getElement().addClassName(COLUMNS_CHEVRON_STYLE); getElement().appendChild(columnsChevron.getElement()); columnsChevron.addDomHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { PlatypusPopupMenu columnsMenu = new PlatypusPopupMenu(); fillColumns(columnsMenu, headerLeft); fillColumns(columnsMenu, headerRight); columnsMenu.setPopupPosition(columnsChevron.getAbsoluteLeft(), columnsChevron.getAbsoluteTop()); columnsMenu.showRelativeTo(columnsChevron); } private void fillColumns(MenuBar aTarget, final GridSection<T> aSection) { for (int i = 0; i < aSection.getColumnCount(); i++) { Header<?> h = aSection.getHeader(i); final Column<T, ?> column = aSection.getColumn(i); SafeHtml rendered; if (h.getValue() instanceof String) { String hVal = (String) h.getValue(); rendered = hVal.startsWith("<html>") ? SafeHtmlUtils.fromTrustedString(hVal.substring(6)) : SafeHtmlUtils.fromString(hVal); } else { Cell.Context context = new Cell.Context(0, i, h.getKey()); SafeHtmlBuilder sb = new SafeHtmlBuilder(); h.render(context, sb); rendered = sb.toSafeHtml(); } MenuItemCheckBox miCheck = new MenuItemCheckBox(!aSection.isColumnHidden(column), rendered.asString(), true); miCheck.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { if (Boolean.TRUE.equals(event.getValue())) { showColumn(column); } else { hideColumn(column); } Grid.this.onResize(); } }); aTarget.addItem(miCheck); } } }, ClickEvent.getType()); ColumnSortEvent.Handler sectionSortHandler = new ColumnSortEvent.Handler() { @Override public void onColumnSort(ColumnSortEvent event) { boolean isCtrlKey = ((GridSection<?>) event.getSource()).isCtrlKey(); boolean contains = false; int containsAt = -1; for (int i = 0; i < sortList.size(); i++) { if (sortList.get(i).getColumn() == event.getColumn()) { contains = true; containsAt = i; break; } } if (!contains) { if (!isCtrlKey) { sortList.clear(); } sortList.insert(sortList.size(), new ColumnSortList.ColumnSortInfo(event.getColumn(), true)); } else { boolean wasAscending = sortList.get(containsAt).isAscending(); if (!isCtrlKey) { sortList.clear(); if (wasAscending) { sortList.push(new ColumnSortList.ColumnSortInfo(event.getColumn(), false)); } } else { sortList.remove(sortList.get(containsAt)); if (wasAscending) { sortList.insert(containsAt, new ColumnSortList.ColumnSortInfo(event.getColumn(), false)); } } } ColumnSortEvent.fire(Grid.this, sortList); } }; headerLeft.getColumnSortList().setLimit(1); headerLeft.addColumnSortHandler(sectionSortHandler); headerRight.getColumnSortList().setLimit(1); headerRight.addColumnSortHandler(sectionSortHandler); gridColor = PublishedColor.create(211, 211, 211, 255); regenerateDynamicTDStyles(); regenerateDynamicOddRowsStyles(); getElement().<XElement>cast().addResizingTransitionEnd(this); setStyleName(GRID_SHELL_STYLE); }
From source file:com.ephesoft.dcma.gwt.admin.bm.client.view.kvextraction.advancedkvextraction.AdvancedKVExtractionView.java
License:Open Source License
/** * To extractSpanValue./* w w w . j av a2s. co m*/ * * @param coordinateX int * @param coordinateY int * @param clientCoordinateX int * @param clientCoordinateY int */ public void extractSpanValue(int coordinateX, int coordinateY, int clientCoordinateX, int clientCoordinateY) { if (spanList != null) { double aspectWidthRatio = (double) (pageImage.getWidth()) / (double) (originalWidth); double aspectHeightRatio = (double) (pageImage.getHeight()) / (double) (originalHeight); int xCoordinate = (int) Math.round(coordinateX / aspectWidthRatio); int yCoordinate = (int) Math.round(coordinateY / aspectHeightRatio); for (Span span : spanList) { int spanX0 = span.getCoordinates().getX0().intValue(); int spanY0 = span.getCoordinates().getY0().intValue(); int spanX1 = span.getCoordinates().getX1().intValue(); int spanY1 = span.getCoordinates().getY1().intValue(); if (spanX0 <= xCoordinate && spanX1 >= xCoordinate && spanY0 <= yCoordinate && spanY1 >= yCoordinate) { MenuBar menuBar = new MenuBar(true); MenuItem menuItem = new MenuItem(span.getValue(), new Command() { @Override public void execute() { contextMenu.hide(); } }); menuBar.addItem(menuItem); contextMenu.setWidget(menuBar); contextMenu.setPopupPosition(clientCoordinateX, clientCoordinateY); contextMenu.show(); break; } } } }
From source file:com.ephesoft.dcma.gwt.foldermanager.client.view.FolderTableView.java
License:Open Source License
private void performOperationsOnRightClick(final FileWrapper file, final String fileName, MouseDownEvent mouseDown) {/*www . j a va 2 s . com*/ final String absoluteFilePath = file.getPath(); final ContextMenuPanel contextMenu = new ContextMenuPanel(); contextMenu.show(); MenuBar menuBar = new MenuBar(true); MenuItem openMenuItem = new MenuItem( LocaleDictionary.get().getConstantValue(FolderManagementConstants.OPEN), new Command() { @Override public void execute() { openItem(file); contextMenu.hide(); } }); MenuItem cutMenuItem = new MenuItem(LocaleDictionary.get().getConstantValue(FolderManagementConstants.CUT), new Command() { @Override public void execute() { presenter.onFileCut(absoluteFilePath); setPasteEnabled(true); contextMenu.hide(); } }); MenuItem copyMenuItem = new MenuItem( LocaleDictionary.get().getConstantValue(FolderManagementConstants.COPY), new Command() { @Override public void execute() { presenter.onFileCopy(absoluteFilePath); setPasteEnabled(true); contextMenu.hide(); } }); MenuItem renameMenuItem = new MenuItem( LocaleDictionary.get().getConstantValue(FolderManagementConstants.RENAME), new Command() { @Override public void execute() { performOperationsOnRename(fileName, contextMenu); } }); MenuItem deleteMenuItem = new MenuItem( LocaleDictionary.get().getConstantValue(FolderManagementConstants.DELETE), new Command() { @Override public void execute() { final ConfirmationDialog confirmationDialog = ConfirmationDialogUtil.showConfirmationDialog( LocaleDictionary.get().getMessageValue( FolderManagementMessages.ARE_YOU_SURE_YOU_WANT_TO_DELETE_THE_FILE, FolderManagementConstants.QUOTES + fileName + FolderManagementConstants.QUOTES), LocaleDictionary.get().getMessageValue( FolderManagementMessages.CONFIRM_DELETE_OPERATION), false, true); confirmationDialog.addDialogListener(new DialogListener() { @Override public void onOkClick() { confirmationDialog.hide(); presenter.onFileDelete(fileName, absoluteFilePath); } @Override public void onCancelClick() { confirmationDialog.hide(); } }); confirmationDialog.okButton.setFocus(true); contextMenu.hide(); } }); menuBar.addItem(openMenuItem); if (!file.getKind().equals(FileType.DIR)) { MenuItem downloadMenuItem = new MenuItem( LocaleDictionary.get().getConstantValue(FolderManagementConstants.DOWNLOAD), new Command() { @Override public void execute() { contextMenu.hide(); presenter.onFileDownload(file); } }); menuBar.addItem(downloadMenuItem); } menuBar.addItem(cutMenuItem); menuBar.addItem(copyMenuItem); menuBar.addItem(renameMenuItem); menuBar.addItem(deleteMenuItem); contextMenu.setWidget(menuBar); contextMenu.setPopupPosition(mouseDown.getNativeEvent().getClientX(), mouseDown.getNativeEvent().getClientY()); contextMenu.show(); }
From source file:com.google.sampling.experiential.client.Main.java
License:Open Source License
private HorizontalPanel createMenuBar() { HorizontalPanel menuPanel = new HorizontalPanel(); mainPanel.add(menuPanel);/*w w w. j av a2 s. c o m*/ Image pacoLogo = new Image(resources.pacoSmallLogo()); pacoLogo.setStylePrimaryName("paco-Logo"); menuPanel.add(pacoLogo); VerticalPanel rootMenuAndGreetingBar = new VerticalPanel(); menuPanel.add(rootMenuAndGreetingBar); MenuBar rootMenuBar = new MenuBar(false); rootMenuAndGreetingBar.add(rootMenuBar); Label greeting = new Label(myMessages.hello(loginInfo.getEmailAddress())); greeting.setStyleName("paco-Name-Greeting"); //greeting.setSize("200px", "20px"); rootMenuAndGreetingBar.add(greeting); MenuBar joinedSubMenuBar = new MenuBar(true); MenuItem joinedMenuItem = new MenuItem(myConstants.joinedExperiments(), false, joinedSubMenuBar); MenuItem mntmShowAllJoined = new MenuItem(myConstants.showAll(), false, new Command() { public void execute() { loadJoinedExperiments(); } }); joinedSubMenuBar.addItem(mntmShowAllJoined); MenuItem mntmFindExperiments = new MenuItem(myConstants.findExperiments(), false, new Command() { public void execute() { findExperiments(); } }); mntmFindExperiments.setEnabled(true); joinedSubMenuBar.addItem(mntmFindExperiments); rootMenuBar.addItem(joinedMenuItem); MenuBar adminMenuBar = new MenuBar(true); MenuItem adminMenuItem = new MenuItem(myConstants.administerExperiments(), false, adminMenuBar); MenuItem mntmShowAllAdmin = new MenuItem(myConstants.showAll(), false, new Command() { public void execute() { loadAdministeredExperiments(false); } }); adminMenuBar.addItem(mntmShowAllAdmin); MenuItem mntmCreateNew = new MenuItem(myConstants.createNew(), false, new Command() { public void execute() { createNewExperiment(); } }); adminMenuBar.addItem(mntmCreateNew); rootMenuBar.addItem(adminMenuItem); // ////////////////// MenuItem mntmQR_Code = new MenuItem(myConstants.getAndroid(), false, new Command() { public void execute() { showAndroidDownloadPage(); } }); rootMenuBar.addItem(mntmQR_Code); // //////////////// MenuBar helpMenuBar = new MenuBar(true); MenuItem helpMenuItem = new MenuItem(myConstants.help(), false, helpMenuBar); rootMenuBar.addItem(helpMenuItem); MenuItem helpContentsMenuItem = new MenuItem(myConstants.userGuide(), false, new Command() { public void execute() { launchHelp(); } }); //helpContentsMenuItem.setEnabled(false); helpMenuBar.addItem(helpContentsMenuItem); MenuItem aboutMenuItem = new MenuItem(myConstants.about(), false, new Command() { public void execute() { launchAbout(); } }); aboutMenuItem.setEnabled(false); helpMenuBar.addItem(aboutMenuItem); // logout MenuItem mntmLogout = new MenuItem(myConstants.logout(), false, new Command() { public void execute() { logout(); } }); rootMenuBar.addItem(mntmLogout); return menuPanel; }
From source file:com.handsrel.localstorage.client.LdbQueryBrowser.java
License:Apache License
public LdbQueryBrowser() { VerticalPanel verticalPanel = new VerticalPanel(); initWidget(verticalPanel);/* ww w . j a v a 2s . co m*/ verticalPanel.setSize("692px", "522px"); MenuBar menuBar = new MenuBar(false); verticalPanel.add(menuBar); MenuBar menuBar_1 = new MenuBar(true); MenuItem mntmUse_1 = new MenuItem("Use", false, menuBar_1); MenuItem mntmUseDatabase = new MenuItem("Use database", false, new Command() { public void execute() { params("Use database", "", "dbName", null, null); } }); menuBar_1.addItem(mntmUseDatabase); menuBar.addItem(mntmUse_1); MenuBar menuBar_2 = new MenuBar(true); MenuItem mntmCreate = new MenuItem("Create", false, menuBar_2); MenuItem mntmCreateDatabase = new MenuItem("Create database", false, new Command() { public void execute() { params("Create database", "", "dbName", null, null); } }); menuBar_2.addItem(mntmCreateDatabase); MenuItem mntmCreateObjectStore = new MenuItem("Create object store", false, new Command() { public void execute() { params("Create object store", "", "objStrName", null, null); } }); menuBar_2.addItem(mntmCreateObjectStore); menuBar.addItem(mntmCreate); MenuBar menuBar_3 = new MenuBar(true); MenuItem mntmList = new MenuItem("List", false, menuBar_3); MenuItem mntmGetDatabaseList = new MenuItem("Get database list", false, new Command() { public void execute() { params("Get database list", "", null, null, null); addToTextAreaResult("Database list:\n" + LdbApi.printList(LdbApi.getDbList())); } }); menuBar_3.addItem(mntmGetDatabaseList); MenuItem mntmGetObjectStore = new MenuItem("Get object store list", false, new Command() { public void execute() { try { params("Get object store list", "", null, null, null); addToTextAreaResult("Object store list:\n" + LdbApi.printList(LdbApi.getObjStoreList())); } catch (LocalStorageDatabaseException e) { logger.log(Level.SEVERE, "Database Exception", e); } } }); menuBar_3.addItem(mntmGetObjectStore); MenuItem mntmGetColumnList = new MenuItem("Get column list", false, new Command() { public void execute() { params("Get column list", "", "objStrName", null, null); } }); menuBar_3.addItem(mntmGetColumnList); MenuItem mntmGetValuesFrom = new MenuItem("Get values from column", false, new Command() { public void execute() { params("Get values from column", "", "objStrName", "columnName", null); } }); menuBar_3.addItem(mntmGetValuesFrom); menuBar.addItem(mntmList); MenuBar menuBar_4 = new MenuBar(true); MenuItem mntmAdd = new MenuItem("Add", false, menuBar_4); MenuItem mntmColumn = new MenuItem("Column", false, new Command() { public void execute() { params("Add Column", "Column definition for primary key can be specified as - true, <isAutogenerate>, '<NameOfColumn>'\n" + "Column def for non-primary key can be specified as - '<NameOfColumn>', <isUnique>, <isNotNull>\n" + "Note:Please don't include <> in your values, they are meant for indication only." + " eg. true, false,'Sno' or 'formData', false, true", "objStrName", "column definition", null); } }); menuBar_4.addItem(mntmColumn); MenuItem mntmRecord = new MenuItem("Record", false, new Command() { public void execute() { params("Add Record", "Specify the map as 'col1','val1','col2','val2'... etc. The columns can be defined in any order. " + "Make sure that primary key is the first one to be defined if it is not autogenerated", "objStrName", "map", null); } }); menuBar_4.addItem(mntmRecord); MenuItem mntmRecordallValues = new MenuItem("Record (all values)", false, new Command() { public void execute() { params("Add Record (all values)", "Specify the map as 'val1','val2','val3'...", "objStrName", "map", null); } }); menuBar_4.addItem(mntmRecordallValues); menuBar.addItem(mntmAdd); MenuBar menuBar_5 = new MenuBar(true); MenuItem mntmUpdate = new MenuItem("Update", false, menuBar_5); MenuItem mntmUpdateIthRecord = new MenuItem("Update ith record", false, new Command() { public void execute() { params("Update ith record", "Specify the map as 'col1','val1','col2', 'val2'...", "objStrName", "map", "i"); } }); menuBar_5.addItem(mntmUpdateIthRecord); MenuItem mntmUpdateRecordBy = new MenuItem("Update record by Pkey", false, new Command() { public void execute() { params("Update record by Pkey", "Specify the map as 'col1','val1','col2', 'val2'...", "objStrName", "map", "pkeyValue"); } }); menuBar_5.addItem(mntmUpdateRecordBy); menuBar.addItem(mntmUpdate); MenuBar menuBar_5_1 = new MenuBar(true); MenuItem mntmAddOrUpdate = new MenuItem("AddOrUpdate", false, menuBar_5_1); MenuItem mntmAddOrUpdateRec = new MenuItem("Add or update record", false, new Command() { public void execute() { params("Add or update record", "Specify the map as 'col1','val1','col2', 'val2'...", "objStrName", "map", "pkeyValue"); } }); menuBar_5_1.addItem(mntmAddOrUpdateRec); MenuItem mntmAddOrUpdateRecAllVal = new MenuItem("Add or update record (All values)", false, new Command() { public void execute() { params("Add or update record (All values)", "Specify the map as 'val1','val2','val3'...", "objStrName", "map", null); } }); menuBar_5_1.addItem(mntmAddOrUpdateRecAllVal); menuBar.addItem(mntmAddOrUpdate); MenuBar menuBar_6 = new MenuBar(true); MenuItem mntmPrint = new MenuItem("Print", false, menuBar_6); MenuItem mntmPrintAllKeys = new MenuItem("Print all keys", false, new Command() { public void execute() { params("Print all keys", "", null, null, null); addToTextAreaResult(LdbApi.printAllKeys()); } }); menuBar_6.addItem(mntmPrintAllKeys); menuBar.addItem(mntmPrint); MenuBar menuBar_7 = new MenuBar(true); MenuItem mntmSelect = new MenuItem("Select", false, menuBar_7); MenuItem mntmSelectAll = new MenuItem("Select All", false, new Command() { public void execute() { params("Select All", "", "objStrName", null, null); } }); menuBar_7.addItem(mntmSelectAll); MenuItem mntmSelectAllcolumns = new MenuItem("Select All (columns)", false, new Command() { public void execute() { params("Select All (columns)", "Specify columnNames as 'col1','col2','col3'...", "columnNames", "objStrName", null); } }); menuBar_7.addItem(mntmSelectAllcolumns); menuBar.addItem(mntmSelect); MenuBar menuBar_8 = new MenuBar(true); MenuItem mntmGet = new MenuItem("Get", false, menuBar_8); MenuItem mntmGetNumberOf = new MenuItem("Get number of records", false, new Command() { public void execute() { params("Get number of records", "", "objStrName", null, null); } }); menuBar_8.addItem(mntmGetNumberOf); MenuItem mntmGetPkeysForValueInColumn = new MenuItem("Get Pkeys For Value In Column", false, new Command() { public void execute() { params("Get Pkeys For Value In Column", "", "objStrName", "columnName", "searchValue"); } }); menuBar_8.addItem(mntmGetPkeysForValueInColumn); MenuItem mntmGetPkeyFor = new MenuItem("Get Pkey for ith record", false, new Command() { public void execute() { params("Get Pkey for ith record", "", "objStrName", "i", null); } }); menuBar_8.addItem(mntmGetPkeyFor); MenuItem mntmGetIthRecord = new MenuItem("Get ith record", false, new Command() { public void execute() { params("Get ith record", "", "objStrName", "i", null); } }); menuBar_8.addItem(mntmGetIthRecord); MenuItem mntmGetRecordByPkey = new MenuItem("Get record by Pkey", false, new Command() { public void execute() { params("Get record by Pkey", "", "objStrName", "pkeyValue", null); } }); menuBar_8.addItem(mntmGetRecordByPkey); MenuItem mntmGetIthRecord_1 = new MenuItem("Get ith record (columns)", false, new Command() { public void execute() { params("Get ith record (columns)", "Specify columnNames as 'col1', 'col2', 'col3' ...", "columnNames", "objStrName", "i"); } }); menuBar_8.addItem(mntmGetIthRecord_1); MenuItem mntmGetRecordColByPkey = new MenuItem("Get record (columns) by Pkey", false, new Command() { public void execute() { params("Get record (columns) by Pkey", "Specify columnNames as 'col1', 'col2', 'col3' ...", "columnNames", "objStrName", "pkeyValue"); } }); menuBar_8.addItem(mntmGetRecordColByPkey); menuBar.addItem(mntmGet); MenuBar menuBar_9 = new MenuBar(true); MenuItem mntmDelete = new MenuItem("Delete", false, menuBar_9); MenuItem mntmDeleteIthRecord = new MenuItem("Delete ith record", false, new Command() { public void execute() { params("Delete ith record", "", "objStrName", "i", null); } }); menuBar_9.addItem(mntmDeleteIthRecord); MenuItem mntmDeleteRecordBy = new MenuItem("Delete record by Pkey", false, new Command() { public void execute() { params("Delete record by Pkey", "", "objStrName", "pkeyValue", null); } }); menuBar_9.addItem(mntmDeleteRecordBy); MenuItem mntmDeleteAllRecords = new MenuItem("Delete all records", false, new Command() { public void execute() { params("Delete all records", "", "objStrName", null, null); } }); menuBar_9.addItem(mntmDeleteAllRecords); MenuItem mntmDeleteObjectStore = new MenuItem("Delete object store", false, new Command() { public void execute() { params("Delete object store", "", "objStrName", null, null); } }); menuBar_9.addItem(mntmDeleteObjectStore); menuBar.addItem(mntmDelete); MenuBar menuBar_10 = new MenuBar(true); MenuItem mntmDrop = new MenuItem("Drop", false, menuBar_10); MenuItem mntmDropDatabase = new MenuItem("Drop database", false, new Command() { public void execute() { params("Drop database", "", "dbName", null, null); } }); menuBar_10.addItem(mntmDropDatabase); menuBar.addItem(mntmDrop); MenuBar menuBar_11 = new MenuBar(true); MenuItem mntmRemove = new MenuItem("Remove", false, menuBar_11); MenuItem mntmRemoveAllKeys = new MenuItem("Remove all keys", false, new Command() { public void execute() { params("Remove all keys", "", null, null, null); boolean confirm = Window.confirm( "Are you sure you want to remove all keys from the local storage. This will completely wipe off all data" + " irreversibly."); if (confirm) LdbApi.removeAll(); } }); menuBar_11.addItem(mntmRemoveAllKeys); menuBar.addItem(mntmRemove); lblFunctionToBeExec = new Label("Function to be executed: "); verticalPanel.add(lblFunctionToBeExec); textAreaDescription = new TextArea(); verticalPanel.add(textAreaDescription); textAreaDescription.setSize("672px", "61px"); HorizontalPanel horizontalPanel = new HorizontalPanel(); verticalPanel.add(horizontalPanel); horizontalPanel.setSize("550px", "25px"); lblParam1 = new Label("Param 1:"); horizontalPanel.add(lblParam1); lblParam1.setSize("200px", "25px"); txtbxParam1 = new TextBox(); horizontalPanel.add(txtbxParam1); txtbxParam1.setSize("300px", "20px"); HorizontalPanel horizontalPanel_1 = new HorizontalPanel(); verticalPanel.add(horizontalPanel_1); horizontalPanel_1.setSize("550px", "25px"); lblParam2 = new Label("Param 2:"); horizontalPanel_1.add(lblParam2); lblParam2.setSize("200px", "25px"); txtbxParam2 = new TextBox(); horizontalPanel_1.add(txtbxParam2); txtbxParam2.setSize("300px", "20px"); HorizontalPanel horizontalPanel_2 = new HorizontalPanel(); verticalPanel.add(horizontalPanel_2); horizontalPanel_2.setSize("550px", "25px"); lblParam3 = new Label("Param 3:"); horizontalPanel_2.add(lblParam3); lblParam3.setSize("200px", "25px"); txtbxParam3 = new TextBox(); horizontalPanel_2.add(txtbxParam3); txtbxParam3.setSize("300px", "20px"); HorizontalPanel horizontalPanel_3 = new HorizontalPanel(); verticalPanel.add(horizontalPanel_3); horizontalPanel_3.setSize("115px", "35px"); Button btnExecute = new Button("Execute"); btnExecute.addClickHandler(getExecuteButtonClickHandler()); horizontalPanel_3.add(btnExecute); Button btnReset = new Button("Reset"); btnReset.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { params("", "", "Param 1", "Param 2", "Param 3"); } }); horizontalPanel_3.add(btnReset); textAreaResult = new TextArea(); verticalPanel.add(textAreaResult); textAreaResult.setSize("667px", "280px"); }