Package org.zkoss.zss.app.file

Source Code of org.zkoss.zss.app.file.SaveFileWindowCtrl

/* SaveFileWindowCtrl.java

{{IS_NOTE
  Purpose:
   
  Description:
   
  History:
    Dec 17, 2010 5:23:32 PM , Created by Sam
}}IS_NOTE

Copyright (C) 2009 Potix Corporation. All Rights Reserved.

*/
package org.zkoss.zss.app.file;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zss.app.zul.Dialog;
import org.zkoss.zss.app.zul.Zssapp;
import org.zkoss.zss.app.zul.ctrl.DesktopWorkbenchContext;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.ComboitemRenderer;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;

/**
* @author Sam
*
*/
public class SaveFileWindowCtrl extends GenericForwardComposer {

  Dialog _saveFileDialog;
  Combobox fileFormat;
  Textbox fileName;
  Button okBtn;

  public void doAfterCompose(Component comp) throws Exception {
    super.doAfterCompose(comp);

    fileFormat.setReadonly(true);
    fileFormat.setItemRenderer(new ComboitemRenderer() {
      public void render(Comboitem item, Object data) throws Exception {
        item.setLabel(data.toString());
      }

      @Override
      public void render(Comboitem item, Object data, int index)
          throws Exception {
        render(item, data);
      }
    });
    fileFormat.addEventListener("onAfterRender", new EventListener() {
      public void onEvent(Event event) throws Exception {
        if (fileFormat.getModel().getSize() > 0)
          fileFormat.setSelectedIndex(0);
      }
    });
  }
 
  public void onOpen$_saveFileDialog() {
    fileFormat.setModel(new ListModelList(FileHelper.getSupportedFormat()));

    String src = getDesktopWorkbenchContext().getWorkbookCtrl().getSrc();
    if ("Untitled".lastIndexOf(src) >= 0) {
      fileName.setValue("Book1");
    }
    _saveFileDialog.setMode(Window.MODAL);
  }

  public void onOK$fileName() {
    save();
  }

  public void onClick$okBtn() {
    save();
  }

  private void save() {
    if (!"".equals(fileName.getText())) {
      getDesktopWorkbenchContext().getWorkbookCtrl().setSrcName(
          fileName.getText() + "." + fileFormat.getSelectedItem().getLabel());
      getDesktopWorkbenchContext().getWorkbookCtrl().save();
      getDesktopWorkbenchContext().fireWorkbookSaved();
      _saveFileDialog.fireOnClose(null);
    } else
      Messagebox.show("File name can not be empty");
  }

  private DesktopWorkbenchContext getDesktopWorkbenchContext() {
    return Zssapp.getDesktopWorkbenchContext(self);
  }
}
TOP

Related Classes of org.zkoss.zss.app.file.SaveFileWindowCtrl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.