View Javadoc

1   /**********************************************
2    * Copyright (C) 2011 Lukas Laag
3    * This file is part of svgreal.
4    * 
5    * svgreal is free software: you can redistribute it and/or modify
6    * it under the terms of the GNU General Public License as published by
7    * the Free Software Foundation, either version 3 of the License, or
8    * (at your option) any later version.
9    * 
10   * svgreal is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU General Public License for more details.
14   * 
15   * You should have received a copy of the GNU General Public License
16   * along with svgreal.  If not, see http://www.gnu.org/licenses/
17   **********************************************/
18  package org.vectomatic.svg.edit.client.command;
19  
20  import org.vectomatic.svg.edit.client.SvgrealApp;
21  
22  import com.extjs.gxt.ui.client.data.BeanModelTag;
23  import com.google.gwt.core.client.GWT;
24  /**
25   * Base class for command factories
26   * @author laaglu
27   */
28  public abstract class CommandFactoryBase implements ICommandFactory, BeanModelTag {
29  	protected String status;
30  	
31  	@Override
32  	public String getStatus() {
33  		return status;
34  	}
35  	
36  	@Override
37  	public void start(Object requester) {
38  		GWT.log("CommandFactoryBase.start(" + requester + ")");
39  		SvgrealApp.getApp().getCommandFactorySelector().pushFactory(this);
40  	}
41  
42  	@Override
43  	public void stop() {
44  		GWT.log("CommandFactoryBase.stop()");
45  		SvgrealApp.getApp().getCommandFactorySelector().popFactory();
46  	}
47  	
48  	public void updateStatus(String status) {
49  		this.status = status;
50  		SvgrealApp.getApp().getCommandToolBar().updateStatus();
51  	}
52  }