01: package net.sourceforge.squirrel_sql.fw.datasetviewer;
02:
03: /*
04: * Copyright (C) 2001-2002 Colin Bell
05: * colbell@users.sourceforge.net
06: *
07: * This library is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU Lesser General Public
09: * License as published by the Free Software Foundation; either
10: * version 2.1 of the License, or (at your option) any later version.
11: *
12: * This library is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this library; if not, write to the Free Software
19: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: */
21:
22: /**
23: * @author gwg
24: *
25: * If the underlying data maintained by the application may be
26: * changed by the user through the framework interface, then the fw
27: * objects must be able to get back to the application objects to
28: * tell them what the change is. The signature of the method to be
29: * used to signal that change will depend on the type of underlying data
30: * (e.g. list, table, etc.), but the setup of the fw code from the
31: * application is done at a fairly high level, so that data type is not
32: * known at the time that the application object creates the fw objects.
33: * Therefore, we define this interface as a data type so that the application
34: * code (e.g.
35: * net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BaseDataSetTab)
36: * may tell the fw code in
37: * net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetScrollingPanel
38: * that the calling object is editable and must be saved in the fw
39: * objects for later reference.
40: *
41: * While this interface is defined within the fw object tree, it is
42: * actually for use by application objects. Thus, you will find the
43: * objects implementing this interface in the application tree, not here.
44: * The reason for this is that the fw code is intended to be reusable, so
45: * we need a reusable data type for making callbacks into the application,
46: * and that data type must be defined in fw.
47: *
48: * This interface must be extended by another interface that handles
49: * the actual call from fw to application to update the data. For example:
50: * net.sourceforge.squirrel_sql.fw.datasetviewer.IDataSetUpdateableTableModel
51: * is the interface used to update table objects.
52: */
53: public interface IDataSetUpdateableModel {
54: /**
55: * The fw gui may contain hooks that let the user force the application
56: * into editing mode, and this function is how the framework tells the application
57: * to go into editing mode.
58: */
59: public void forceEditMode(boolean mode);
60:
61: /**
62: * The fw gui may need to query the application on whether it is in "forced edit" mode
63: * or not.
64: */
65: public boolean editModeIsForced();
66: }
|