/******************************************************************************* * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com> * This file is part of Gluster Management Console. * * Gluster Management Console is free software; you can redistribute * it and/or modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * Gluster Management Console is distributed in the hope that it * will be useful, but WITHOUT ANY WARRANTY; without even the * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see * <http://www.gnu.org/licenses/>. *******************************************************************************/ package org.gluster.storage.management.console.dialogs; import java.net.MalformedURLException; import java.net.URL; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.forms.FormDialog; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.events.HyperlinkAdapter; import org.eclipse.ui.forms.events.HyperlinkEvent; import org.eclipse.ui.forms.widgets.FormText; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ScrolledForm; import org.gluster.storage.management.console.utils.GUIHelper; public class GlusterSupportDialog extends FormDialog { private final GUIHelper guiHelper = GUIHelper.getInstance(); private FormToolkit toolkit; private ScrolledForm form; public GlusterSupportDialog(Shell shell) { super(shell); } @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setText("Gluster Management Console - Support Information"); } protected void createFormContent(IManagedForm mform) { form = mform.getForm(); toolkit = mform.getToolkit(); form.getBody().setLayout(new GridLayout()); createSections(); } private void createSections() { contactGlusterSupportSection(); commingSoonSection(); form.layout(); form.getParent().layout(); } private void contactGlusterSupportSection() { Composite section = guiHelper.createSection(form, toolkit, "Contact Gluster Support", null, 1, false); FormText formText = toolkit.createFormText(section, false); toolkit.createLabel(section, "Call 1-800-805-5215", SWT.NONE); toolkit.createLabel(section, "or", SWT.NONE); toolkit.createLabel(section, "Email:support@gluster.com", SWT.NONE); // String supportInfo = "<form>" + // "Call 1-800-805-5215<br />" + // "or<br />" + // "Email:support@gluster.com" + // "</form>"; // formText.setText(supportInfo, true, true); GridData layoutData = new GridData(); layoutData.widthHint = 730; layoutData.grabExcessHorizontalSpace = true; formText.setLayoutData(layoutData); } private void commingSoonSection() { Composite section = guiHelper.createSection(form, toolkit, "Coming Soon", null, 7, false); FormText formText = toolkit.createFormText(section, true); String commingSoonInfo = "<form>" + "The following features of GlusterFS will soon be supported in upcoming releases of Gluster Management Console " + "<li>Geo-replication</li>" + "<li>Directory Quota</li>" + "<li>Top and Profile</li>" + "<li>POSIX ACLs Support</li><br />" + "More information about these features can be found at<br /> " + "http://www.gluster.com/community/documentation/index.php/Gluster_3.2:_What_is_New_in_this_Release" + "</form>"; formText.setText(commingSoonInfo, true, true); GridData layoutData = new GridData(); layoutData.widthHint = 700; layoutData.grabExcessHorizontalSpace = true; formText.setLayoutData(layoutData); formText.addHyperlinkListener(new HyperlinkAdapter() { public void linkActivated(HyperlinkEvent e) { System.out.println("Link activated: " + e.getHref()); try { PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser() .openURL(new URL((String) e.getHref())); } catch (PartInitException e1) { e1.printStackTrace(); } catch (MalformedURLException e1) { e1.printStackTrace(); } } }); } @Override protected Control createButtonBar(Composite parent) { return null; } /** * Overriding to make sure that the dialog is centered in screen */ @Override protected void initializeBounds() { super.initializeBounds(); guiHelper.centerShellInScreen(getShell()); } }