|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectdatalator.user.User
public class User
datalator.user.User is a parent class and a programming interface for all Datalator applications extentions.
Datalator programming model assumes creating Main.java as entry point for Applications and extending from 2 java source files:
datalator.user.UserApplet if you plan to distribute your Application as an Applet
and datalator.user.User where all business/custom logic defined(beyond default CRUD functionality).
The best approach to create an Application of hello-world-type is to:
datalator.user in your source directorydatalator.user.User
The class should look like:
package datalator.user;
public class MyApp extends User{
public static void setUserCode(){ // a convenience method
user = new MyApp();
}
}
Main.java like that:
public class Main {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
datalator.user.MyApp.user = new datalator.user.MyApp(); // setting up the class, custom logic container
// or use convenience method MyApp.setUserCode();
datalator.user.MyApp.startClientApplication(50, 40, 1200, 800, "127.0.0.1", "MyApp", "", "", "MyApp3 build 07-29-2011");
}
});
}
}
MyApplet.java like that(optionally):
package datalator.user;
public class MyApplet extends UserApplet{
public void init() {
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); // recommended for UI consistency
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e){}
datalator.user.MyApp.user = new datalator.user.MyApp(); // setting up the class, custom logic container
// or use convenience method MyApp.setUserCode();
datalator.user.MyApp.initApplet(this, "MyApp build 08-10-2011");
}
}
java -jar MyApp.jar you must see the Datalator client UI started.
From now on the file MyApp.java has to be developed, Main.java and MyApplet.java
are not supposed to be changed.
The programming paradigm of Datalator library based on the next abstractions:
Object content and a few service fields
A Table Record represented by Java object datalator.sprav.SpravRecord; it contains public String[] content,
each content[i] represents a field of that record. SpravRecord also contains public long recordId field as unique
identifier in this table scope. SpravRecords are contained in public java.util.Vector records and could be "read"
from it with java.util.Vector API. To change a SpravRecord content or to delete it one has to use
convenience methods datalator.user.updateRecord(..., recordId) and datalator.user.deleteRecord(recordId).
There is a comprehensive set of "getter" and "setter" methods to access SpravRecord content.
There are three SQL-table based layers:
datalator.layers.sprav.SpravLayer - represents an SQL Table with mutable set of datalator.sprav.SpravRecord;
supports one-to-many relations, used to build hierarchies of SQL tables and to index SQL tables with
many-to-many relations represented by "DocsLayer" (see below).
The only foreign key is build and supported by Datalator automatically. SQL Table rows delivered
from the server automatically and accessible locally as a java.util.Vector of SpravRecord.
datalator.layers.menu.MenuLayer - represents an SQL table with immutable set
of datalator.layers.menu.MenuRecord with public String[] content
size of 1 - the only field containing a Menu line. Supports one-to-many relations and used to build a system of
sub-menus to provide access to other layers and to start programmable actions.
datalator.layers.docs.DocsLayer - an SQL table with mutable set of
datalator.layers.sprav.SpravRecord; supports many-to-many relations, uses SpravLayer, MenuLayer or another DocsLayer
to define a set of foreign keys.
There are 3 types of "service" layers to support SpravLayer and DocsLayer:
datalator.layers.InputLayer - represents a UI form to visualize/manipulate a SpravLayer or a DocsLayer record fields.
datalator.layers.FilterLayer - represents a UI form to visualize/manipulate a DocsLayer "filter-fields", supporting
complex SQL expressions generation.
datalator.layers.report.ReportLayer - represents a UI form to visualize printable report based on a SpravLayer or
DocsLayer set of records. Each SpravLayer or DocsLayer could be associated with unlimited set of reports, visually and/or programmatically defined.
There are 3 more types of layers a programmer has to be aware about:
datalator.layers.custom.CustomLayer - represents an "empty" layer with visually or programmatically defined Java UI elements,
without direct association with particular SQL tables. If needed, any Database table could be programmatically accessed.
Used to build "control panels" or "game panels" of different kinds.
datalator.layers.text.TextLayer - is a foundation layer to visualize and service of public javax.swing.JTextArea textArea.
The content of a TextLayer could be changed and saved in the Database automatically.
datalator.layers.text.HtmlLayer - is a foundation layer to visualize and service of public javax.swing.JEditorPane editorPane.
The content - HTML page - could be changed and saved in the Database or programmatically delivered from external URL.
There are two sets of methods provided by Datalator library:
static
public boolean preEnterLayer(Layer layer, SpravRecord spravRecord){ // callback
if(layer.layerName.equals("Main Menu") && spravRecord.content[0].equals("Exit")){
shutDown(); // convenience method
return false; // default event processing stopped
}
return true; // default event processing authorized
}
| Field Summary | |
|---|---|
static java.awt.Cursor |
defaultCursor
Convenience object: ready to use default system cursor |
static User |
user
Reference to a class implementing logic; used by callback methods, set by setUserCode(). |
static java.awt.Cursor |
waitCursor
Convenience object: ready to use "hair-glass" type of cursor |
| Constructor Summary | |
|---|---|
User()
|
|
| Method Summary | |
|---|---|
static long |
addActiveSpravRecord(SpravLayer spravLayer)
Synchronously inserts currently active SpravRecord into a SpravLayer content at the place defined by the active SpravRecord position. |
static long |
appendDocsRecord(DocsLayer docsLayer,
SpravRecord spravRecord,
java.lang.String[] filters)
Synchronously appends a SpravRecord to a DocsLayer table in the Database. |
static long |
appendSpravRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
Synchronously appends a SpravRecord to a SpravLayer table in the Database. |
static void |
clearRecordLocks(SpravLayer spravLayer,
int activeRecord)
Clears locally SpravRecord locks: "under editing" and "record used to open another layer in hierarchy". |
static void |
clearRecordLocks(SpravLayer spravLayer,
SpravRecord spravRecord)
Clears locally SpravRecord locks: "under editing" and "record used to open another layer in hierarchy". |
static void |
commitLongTransaction()
Commits a "long transaction" for the current client session. |
static boolean |
connect(int port,
int feedbackPort,
java.lang.String serverURL,
java.lang.String appName,
java.lang.String id,
java.lang.String pass,
boolean flagRunFeedback,
java.lang.String serverId)
Connects a client to an Application on the specific server according given connection parameters. |
boolean |
contentChangedExternally(java.lang.String layerName)
Callback method; invoked when a server notification received that content of the some Layer has been changed by another user(session). |
void |
contentChangedInternally(java.lang.String layerName)
Callback method; invoked when a server notification received that content of the some Layer has been changed by the current user(session). |
void |
contentLoaded(Layer layer)
Callback method; invoked after loading of SpravLayer(DocsLayer) content. |
void |
contentUpdatedAsynchronously(SpravLayer spravLayer)
Callback method; invoked after receiving server notification "content changed" and after reloading that changed content. |
static void |
copySameFieldsValues(SpravLayer sourceLayer,
SpravRecord sourceRecord,
SpravLayer targetLayer,
SpravRecord targetRecord)
Copies fields values from a record of one SpravLayer to a record of another SpravLayer with the same fields names. |
static void |
createApplication(java.lang.String appName)
Creates a new Database in the server Home directory, if issuing the request client connected with administrator credentials. |
static SpravRecord |
createSpravRecord(SpravLayer spravLayer)
Creates a new SpravRecord for a given SpravLayer according to the SpravLayer design. |
static void |
deleteRecord(SpravLayer spravLayer,
int activeRecord)
Deletes a SpravRecord locally and from the Database, notifies all active sessions about the change. |
static void |
deleteRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
Deletes a SpravRecord locally and from the Database, notifies all active sessions about the change It also deletes all branches of hierarchies attached to that record; e.g. |
static byte[] |
downloadFile(java.lang.String fileName,
java.lang.String empty1,
java.lang.String empty2,
java.lang.String stagingFolder,
javax.swing.JProgressBar progressBar,
javax.swing.JLabel sizeLabel)
Downloads small files(should fit into RAM) from a specified directory on the server host. |
static void |
enter(DocsLayer docsLayer)
Reloads content of the DocsLayer, given the current values of the filter fields. |
static void |
enter(SpravLayer spravLayer)
Reloads content of the SpravLayer. |
static DocsLayer |
enterInvisibleDocs(Layer parentLayer,
java.lang.String newLayerName)
Loads the DocsLayer definition without visualizing it, behind the scene, to access the content. |
static MenuLayer |
enterInvisibleMenu(Layer parentLayer,
java.lang.String newLayerName)
Loads "invisible" MenuLayer along with it's records. |
static SpravLayer |
enterInvisibleSprav(Layer parentLayer,
java.lang.String newLayerName)
Loads "invisible" SpravLayer along with it's content. |
static void |
enterMenuLine(java.lang.String value)
Imitates "activation" of a given "visible" MenuLayer line, containing "value" parameter. |
static DocsLayer |
enterVisibleDocs(Layer parentLayer,
java.lang.String newLayerName)
Loads the DocsLayer definition and visualizes FilterLayer only, to be used to access the content. |
static MenuLayer |
enterVisibleMenu(Layer parentLayer,
java.lang.String newLayerName)
Loads and visualizes the MenuLayer. |
static SpravLayer |
enterVisibleSprav(Layer parentLayer,
java.lang.String newLayerName)
Loads and visualizes the SpravLayer and it's content. |
static void |
escape(Layer layer)
Unloads loaded-before layer, adjusts internal state of the Application and releases resources. |
static java.lang.String |
formatPresentDate()
Returns formatted present client computer date as yyyy-mm-dd. |
static java.lang.String |
formatPresentTime()
Returns formatted present client computer time as hh-mm-ss. |
static Layer |
getActiveLayer()
Returns the top layer in the layers Application stack |
static SpravRecord |
getActiveRecord(SpravLayer spravLayer)
Returns the "active" SpravRecord of requested (visible or invisible) layer. |
static long |
getApplicationSize(java.lang.String appName)
Returns the size of a given Application directory in the server home directory, if issuing the request client connected with administrator credentials. |
static java.lang.String[] |
getBackgroundNames()
Returns a set of available built-in backgrounds. |
static javax.swing.JComponent |
getCustomComponentByName(java.lang.String name,
Layer layer)
Returns a reference to a layer UI component, defined when visually developing the layer. |
static java.util.Vector<javax.swing.JComponent> |
getCustomComponents(Layer layer)
Returns all layer UI components, defined when visually developing the layer. |
static java.lang.String |
getField(SpravLayer spravLayer,
SpravRecord spravRecord,
java.lang.String fieldName)
Returns content of a given field of a given record of a given loaded spravLayer. |
static java.lang.String |
getFilterField(DocsLayer layer,
java.lang.String fieldName)
Returns content of a given filter field of a given loaded DocsLayer. |
static java.util.Vector<FilterField> |
getFilterFields(DocsLayer docsLayer)
Returns all filter fields of the loaded DocsLayer |
static javax.swing.JButton |
getHtmlLayerModeButton(HtmlLayer htmlLayer)
Returns HTML Layer built-in button, which switched "html" and "editable text" modes. |
static javax.swing.JTextField |
getInputField(SpravLayer spravLayer,
java.lang.String fieldName)
Returns reference to InputField of loaded SpravLayer. |
static java.util.Vector<InputField> |
getInputFields(SpravLayer spravLayer)
Returns all InputFields of a given SpravLayer. |
static SpravLayer |
getInputLayerOwner(InputLayer inputLayer)
Returns SpravLayer, owner of the given InputLayer. |
static int |
getInputMode(InputLayer inputLayer)
Returns mode of InputLayer. |
static Layer |
getLayerByName(java.lang.String layerName)
Returns a reference to visible Layer, by given name |
static int |
getLayerFloor(Layer layer)
Returns the Layer's position in the visible Layers stack, starting with 1 at the very bottom. |
static java.util.Vector<Layer> |
getLayers()
Returns Vector of all visible Layers, with the top (active) Layer as the last Vector element. |
static java.lang.String |
getLocalIP()
Returns an IP of the computer running the client |
static int |
getMainPanelHeight()
Returns height of the visible area inside the client Application Window. |
static int |
getMainPanelWidth()
Returns width of the visible area inside the client Application Window. |
static Layer |
getParentLayer(Layer layer)
Returns the Layer from which the given Layer was activated |
static int |
getRecordsNumber(SpravLayer spravLayer)
Returns number of content records loaded by given SpravLayer. |
static java.lang.String[] |
getServerRunTimeInfo()
Returns the Server Runtime info, if issuing the request client connected with administrator credentials. |
static javax.swing.JButton |
getTextLayerSaveButton(TextLayer textLayer)
Returns TextLayer built-in button, which saves edited text. |
static java.lang.String |
getTextLayerText(TextLayer textLayer)
Returns content of the given TextLayer. |
static java.awt.Container |
getTopContainer()
Returns the Application Frame or Browser Frame, if requested from Applet. |
static User |
getUser()
Returns reference to the Object, containing user-defined logic. |
static java.lang.String |
getUserGroup()
Returns the name of the group, which was given by Application Owner for current credentials. |
static java.lang.String |
getUserName()
Returns the name of the user(session), which was used to connect to the server. |
static java.lang.String |
getWebPageParameter()
Returns a parameter for Applet, which defined on the starting web page as . |
static void |
initApplet(javax.swing.JApplet applet,
java.lang.String userBuild)
Initiates an Applet, when starting an Application from HTML page. |
static boolean |
isApplet()
Returns true if the Application running as Java Applet, false if as Java Application. |
static void |
logLine(java.lang.String logName,
java.lang.String message)
Prints(appends) a message into a file. |
static void |
openInput(SpravLayer spravLayer)
Opens up the InputLayer for a given SpravLayer. |
void |
postAddRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
Callback method; invoked after a record addition is complete. |
void |
postDeleteRecord(SpravLayer spravLayer)
Callback method; invoked after a record deletion is complete |
void |
postEnterLayer(Layer layer,
SpravRecord spravRecord)
Callback method; invoked after some layer is activated. |
void |
postEnterPressedInputLayer(SpravLayer spravLayer,
InputField inputField,
int editMode)
Callback method; invoked after adding or replacing a SpravRecord when action activated by a human user from Input Form controls. |
void |
postEscapeLayer(Layer layer)
Callback method; invoked after a layer removed from the layers stack and cleanup is complete. |
void |
postFocusGainedInputField(Layer layer,
InputField inputField)
Callback method; invoked when InputField of the given Layer gains input focus. |
void |
postImageWindowClicked(java.lang.String imageId)
Callback method; invoked when Image Field is clicked |
void |
postInputFieldTypedIn(Layer layer)
Callback method; invoked when user presses "enter" or "tab" key in any InputField, except the last one. |
void |
postLoadEntryLayer(java.lang.String appName,
java.lang.String entryLayerName,
java.lang.String userName,
java.lang.String password)
Callback method; invoked after Entry Layer(Main Menu) loaded and visualized |
void |
postMouseLeftClicked(SpravLayer spravLayer,
java.awt.event.MouseEvent me)
Callback method; invoked every time user left-clicks on the panel representing a Layer and after that click is processed. |
void |
postMouseRightClicked(SpravLayer spravLayer,
java.awt.event.MouseEvent me)
Callback method; invoked every time user right-clicks on the panel representing a Layer and after that click is processed. |
void |
postOpenFilterWindow(DocsLayer docsLayer)
Callback method; invoked after a FilterWindow visualized for a given DocsLayer |
void |
postOpenInputWindow(SpravLayer spravLayer)
Callback method; invoked after an InputWindow visualized for a given SpravLayer |
void |
postOpenServiceMenu(SpravLayer spravLayer,
java.lang.String supportMenuName)
Callback method; invoked after ServiceMenu has been visualized. |
void |
postPaintCustomComponent(java.awt.Graphics g,
java.lang.String name,
Layer layer,
javax.swing.JComponent jc)
Callback method; every visually designed UI component will call this method after they complete default painting. |
void |
postPaintLayer(java.awt.Graphics g,
Layer layer)
Callback methods; invoked after Layer completed default painting, allows alter it. |
void |
postPaintLayerWindow(java.awt.Graphics g,
Layer layer,
LayerWindow lw)
Callback methods; invoked after every Layer's Window completes default painting, allows alter it. |
void |
postReloadContent(SpravLayer spravLayer)
Callback method; invoked after SpravLayer's content has been externally altered and after reloaded. |
void |
postReplaceRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
Callback method; invoked after SpravRecord of SpravLayer has been replaced. |
void |
postSettingSupport(SpravLayer spravLayer,
SpravRecord sourceRecord,
InputField inputField,
javax.swing.JTextField targetTextField)
Callback method; invoked after a given SpravLayer has been used as a drop-down list to set up value in the target JTextField. |
void |
postStartConnectionDialog()
Callback method; invoked after connection dialog panel has been visualized. |
void |
postStartSupportLayer(java.lang.String layerName)
Callback method; invoked after a SpravLayer with given name visualized to be used as a drop-down list. |
boolean |
preAddRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
Callback method; invoked before a record addition is commenced. |
boolean |
preDeleteRecord(SpravLayer spravLayer)
Callback method; invoked before a record deletion is complete |
boolean |
preEnterLayer(Layer layer)
Callback method; invoked before entering (activation) procedure from the given layer commences. |
boolean |
preEnterLayer(Layer layer,
SpravRecord spravRecord)
Callback method; invoked before entering (activation) another layer from the given one. |
boolean |
preEnterPressedInputLayer(SpravLayer spravLayer,
InputField inputField,
int editMode)
Callback method; invoked before adding or replacing a SpravRecord when action activated by a human user from Input Form controls. |
boolean |
preEscapeLayer(Layer layer)
Callback method; invoked before a layer removed from the layers stack and cleanup commences. |
boolean |
preFocusGainedInputField(Layer layer,
InputField inputField)
Callback method; invoked when InputField of the given Layer is about to gain input focus. |
boolean |
preImageWindowClicked(java.lang.String imageId)
Callback method; invoked when Image Field is clicked before click processing commences. |
boolean |
preInputFieldTypedIn(Layer layer)
Callback method; invoked when user presses "enter" or "tab" key in any InputField, except the last one before processing commenced When the last(only) IntputField "enter" or "tab" keyed, preAddRecord() and postaddRecord() gets invoked. |
boolean |
preLoadEntryLayer(java.lang.String appName,
java.lang.String entryLayerName,
java.lang.String userName,
java.lang.String password)
Callback method; invoked before Entry Layer(Main Menu) loaded and visualized. |
boolean |
preMouseLeftClicked(SpravLayer spravLayer,
java.awt.event.MouseEvent me)
Callback method; invoked every time user left-clicks on the panel representing a Layer before that click is processed. |
boolean |
preMouseRightClicked(SpravLayer spravLayer,
java.awt.event.MouseEvent me)
Callback method; invoked every time user right-clicks on the panel representing a Layer before that click is processed. |
boolean |
preOpenFilterWindow(DocsLayer docsLayer)
Callback method; invoked before a FilterWindow visualized for a given DocsLayer |
boolean |
preOpenInputWindow(SpravLayer spravLayer)
Callback method; invoked before an InputWindow visualized for a given SpravLayer |
boolean |
preOpenServiceMenu(SpravLayer spravLayer,
java.lang.String serviceMenuName)
Callback method; invoked before ServiceMenu has been visualized. |
boolean |
prePaintLayerWindow(java.awt.Graphics g,
Layer layer,
LayerWindow lw)
Callback methods; invoked before every Layer's Window commences default painting, allows alter default behavior. |
boolean |
preReloadContent(SpravLayer spravLayer)
Callback method; invoked before reloading of SpravLayer's content, which has been externally altered. |
boolean |
preReplaceRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
Callback method; invoked before SpravRecord of SpravLayer has been replaced. |
boolean |
preReportChangingLayer(Layer source,
Layer dest,
boolean enterFlag)
Callback method; invoked before server notified about navigating from source to destination layer. |
boolean |
preSettingSupport(SpravLayer spravLayer,
SpravRecord sourceRecord,
InputField inputField,
javax.swing.JTextField targetTextField)
Callback method; invoked before a given SpravLayer is used as a drop-down list to set up value in the target JTextField. |
void |
preShowConnectionDialog(java.util.Properties comps)
Callback method; invoked before Connection Dialog Panel visualized. |
boolean |
preStartConnectionDialog()
Callback method; invoked before connection dialog panel has been visualized. |
boolean |
preStartSupportLayer(java.lang.String layerName)
Callback method; invoked after a SpravLayer with given name visualized to be used as a drop-down list. |
boolean |
preSwitchInputMode(SpravLayer spravLayer,
int inputMode)
Callback method; invoked when InputForm requested to change an input mode. |
void |
recordLockStateChanged(java.lang.String layerName,
long recordId,
boolean locked)
Callback method; invoked when server notifies that "edit"-lock status of specific SpravRecord, belonging to SpravLayer with given name has been changed. |
static void |
reloadContent(SpravLayer spravLayer)
Initiates asynchronous content updating for the given SpravLayer. |
static void |
reloadContentAndWait(Layer spravLayer)
Initiates and completes synchronous content updating for the given SpravLayer. |
static void |
removeApplication(java.lang.String appName)
Deletes the given Database in the server Home directory, if issuing the request client connected with administrator credentials. |
static void |
removeFilterFieldSupport(SpravLayer spravLayer)
Part of programming hierarchies of "supporting" drop-down lists, see "Programming FilterFields Support" for more information. |
static void |
repaintAll()
Requests repainting the whole UI, Java Swing might take some time before fulfilling the request. |
static void |
repaintAll(int delay)
Initiates repainting the whole UI after given delay. |
static void |
replaceSpravRecordAndWait(SpravLayer spravLayer,
SpravRecord spravRecord)
Synchronously replaces given SpravRecord to a SpravLayer table in the Database. |
static java.lang.String[] |
restartServer()
Restarts the server, if issuing the request client connected with administrator credentials. |
static void |
restoreKeyboardFocus()
Restores an Application keyboard focus if focus was transferred to a custom UI control like in scenario: user hit the button "print" and that button owns a focus now - means UI does not receive user input any more. |
static void |
rollbackLongTransaction()
Rollbacks a "long transaction" for the current client session. |
static java.lang.String[] |
saveTextContentAndWait(java.lang.String textLayerName,
java.lang.String parentLayerName,
long parentRecordId,
java.lang.String text)
Synchronously saves content of a TextLayer. |
static java.lang.String[] |
saveTextLayerText(TextLayer textLayer)
Synchronously saves content of "visible" TextLater. |
static void |
setActiveMenuRecord(MenuLayer menuLayer,
java.lang.String content)
Sets the active record pointer(highlighted record background) of the MenuLayer to the record with the given content. |
static void |
setActiveRecord(SpravLayer spravLayer,
int recordNum)
Sets the active record pointer(highlighted record background) of the SpravLayer to the record with the given position in Vector of records. |
static void |
setActiveRecord(SpravLayer spravLayer,
long recordId)
Sets the active record pointer(highlighted record background) of the SpravLayer to the record with the given record Id. |
static void |
setAuxFilterFieldText(FilterField filterField,
java.lang.String text)
Sets the content of auxiliary Filter Field when this Field operation is set to inclusive "><", like when looking for a specific time frame. |
static boolean |
setBackground(java.awt.Image image)
Sets a background image of the Application Frame. |
static void |
setBackground(java.lang.String name)
Sets one of built-in images as a background image of the Application Frame. |
static void |
setDefaultCursor()
Sets a default system cursor. |
static void |
setField(SpravLayer spravLayer,
SpravRecord spravRecord,
java.lang.String fieldName,
java.lang.String value)
Sets value of a given field of a given record of a given loaded spravLayer. |
static void |
setFilterField(DocsLayer docsLayer,
java.lang.String fieldName,
java.lang.String value)
Sets value of a given filter field of a given loaded DocsLayer. |
static void |
setFilterFieldOperation(FilterField filterField,
int op)
Sets the comparison operation to use with the FilterField. |
static void |
setFilterFieldText(FilterField filterField,
java.lang.String value)
Sets value of the given FilterField. |
static void |
setInputField(InputLayer inputLayer,
java.lang.String fieldName,
java.lang.String value)
Sets value of the given SpravLayer and given InputField name when reference to InputLayer is available. |
static void |
setInputField(SpravLayer spravLayer,
java.lang.String fieldName,
java.lang.String value)
Sets value of the given SpravLayer and given InputField name when reference to SpravLayer is available. |
static void |
setInputFieldText(InputField inputField,
java.lang.String value)
Sets value of the given InputField when reference to InputField is available. |
static void |
setLayerMainWindowCaption(Layer layer,
java.lang.String text,
java.awt.Color frontColor,
java.awt.Color backColor)
Sets caption of the Layer's Main Window |
static void |
setLocation(Layer layer,
int newX,
int newY)
Sets the location of the given Layer |
static void |
setShadowDefault(Layer layer)
Sets default shadow size of the given Layer |
static void |
setShadowExtended(Layer layer)
Extends shadow of the given Layer to darken background and highlight the given Layer |
static void |
setSize(Layer layer,
int newWidth,
int newHeight)
Sets dimensions of the given Layer |
static void |
setSupportMode(boolean flag)
Part of programming hierarchies of "supporting" drop-down lists, see "Programming FilterFields Support" for more information. |
static void |
setTextFieldColors(InputField inputField,
java.awt.Color fore,
java.awt.Color back)
Sets visual attributes of the given InputField text field |
static void |
setTextLayerButtonsVisible(TextLayer textLayer,
boolean flag)
Sets visibility of "save" and "mode" buttons of the TextLayer, thus granting or denying user ability to alter the content |
static void |
setTextLayerText(TextLayer textLayer,
java.lang.String text)
Sets content of the given TextLayer |
static void |
setUserCode()
Initializes and sets a reference to a class containing Application business logic, in order to have callback methods working properly. |
static void |
setWaitCursor()
Sets hourglass type of cursor |
static void |
showMessage(java.lang.String message)
Requests to repaint the message in the Application Message Panel. |
static void |
showMessageImmediately(java.lang.String message)
Repaints the message in the Application Message Panel immediately |
static void |
showRecordLockPeopleWorkingBelow(boolean flag)
Allows or disallows to use an icon "people working below" when visualizing any SpravLayer content. |
static void |
shutDown()
Escapes all opened currently layers gracefully, notifies the server that session is over, closes connections and stops the client. |
static java.lang.String[] |
shutDownServer()
Notifies all connected clients "Shutting down Server...", closes database connection immediately and makes server System.exit(0). |
static void |
startClientApplication(int x,
int y,
int width,
int height,
java.lang.String serverIp,
java.lang.String appName,
java.lang.String id,
java.lang.String password,
java.lang.String buildString)
Starts the client application, the only method which has to be rewritten in the Main class of application. |
static void |
startFilterSupportLayer(DocsLayer docsLayer,
FilterField filterField)
Visualizes "supporting" SpravLayer for the given FilterField of the given DocsLayer, as it a user left-click on that FilterField. |
static void |
startInputSupportLayer(SpravLayer spravLayer,
InputField inputField)
Visualizes "supporting" SpravLayer for the given InputField of the given SpravLayer, as it a user left-click on that InputField. |
static void |
startLongTransaction()
Starts a "long transaction" for the current client session. |
static java.lang.String[] |
startServer()
Sets the server into normal processing mode after it has been stopped, if issuing the request client connected with administrator credentials. |
static void |
stopDownload()
Stops downloading process which has been activated by downloadFile(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.swing.JProgressBar, javax.swing.JLabel)
request. |
static java.lang.String[] |
stopServer()
Stops processing any requests(except from administrator session), if issuing the request client connected with administrator credentials. |
static void |
switchInputMode(InputLayer inputLayer,
int times)
Switches mode of InputLayer given number of times. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static User user
setUserCode().
public static java.awt.Cursor waitCursor
public static java.awt.Cursor defaultCursor
| Constructor Detail |
|---|
public User()
| Method Detail |
|---|
public static void setUserCode()
user = MyApp.setUserCode();
public static long addActiveSpravRecord(SpravLayer spravLayer)
spravLayer - reference to SpravLayer
appendSpravRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord)
public static long appendDocsRecord(DocsLayer docsLayer,
SpravRecord spravRecord,
java.lang.String[] filters)
docsLayer - DocsLayer to append the SpravRecord tospravRecord - SpravRecord to append to the DocsLayerfilters - the array of filter fields values, e.g. {"USD",..., "Sold"}. Set of filter fields defined when building a DocsLayer.
public static long appendSpravRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
spravLayer - SpravLayer to append the SpravRecord tospravRecord - SpravRecord to append to the SpravLayer
addActiveSpravRecord(datalator.layers.sprav.SpravLayer)
public static void clearRecordLocks(SpravLayer spravLayer,
int activeRecord)
replaceSpravRecordAndWait(SpravLayer layer, SpravRecord dataRecord) to open
locks "globally" in the Database and notify all connected clients about the change
spravLayer - SpravLayer to clear locks foractiveRecord - number of SpravRecord to be "lock-cleared" as in SpravLayer Vector records
public static void clearRecordLocks(SpravLayer spravLayer,
SpravRecord spravRecord)
replaceSpravRecordAndWait(SpravLayer layer, SpravRecord dataRecord) to open
locks "globally" in the Database and notify all connected clients about the change
spravLayer - SpravLayer to clear locks forspravRecord - SpravRecord to clear all locks forpublic static void commitLongTransaction()
replaceSpravRecordAndWait(SpravLayer layer, SpravRecord dataRecord)) issued by a client
usually translates into a series of SQL sentences on the server side. Thus every request has it's own "commit" or "rollback"
statements in the sequence.
When a developer programs a transaction, consisting of a few atomic requests(e.g. deletion of a few records),
it is necessary to issue startLongTransaction() to commence the transaction, which suppresses "commits"
of atomic requests.
If a developer is not satisfied with the transaction execution, he or she has to issue
rollbackLongTransaction() to return the Database to a state before that long transaction started.
rollbackLongTransaction(),
startLongTransaction()
public static boolean connect(int port,
int feedbackPort,
java.lang.String serverURL,
java.lang.String appName,
java.lang.String id,
java.lang.String pass,
boolean flagRunFeedback,
java.lang.String serverId)
port - a client socket port on which server waiting for connections (defined by the server administrator),
works in open-request-respond-close modefeedbackPort - a client socket port which a client waiting for a Database state changes notifications from.
A way of clients synchronization. Works in open-wait-receive notification-wait mode(long pull). Clients checks the
connection health every 5 seconds, when error detected, the client reestablishes the connection.serverURL - a server name or IP, e.g. "microsoft.com" or "127.0.0.1"appName - an Application name, e.g. "AdminApplication" or "MyApp" to connect to. One server can host a number of applications.id - an id given by a server administrator, e.g. "guest" or "visitor"pass - a password given by a server administratorflagRunFeedback - if true, the client will maintain the feedback connection and will be synchronizedserverId - a String, unique for every licensed server installation. A developer should be given that number
by a server administrator. If a developer does not know the serverId he is a hacker.
shutDown()public boolean contentChangedExternally(java.lang.String layerName)
layerName - layer name, content of which has been changed by another user(session)
true if normal system processing authorized, false to suppress normal system processingcontentChangedInternally(java.lang.String),
contentUpdatedAsynchronously(datalator.layers.sprav.SpravLayer)public void contentChangedInternally(java.lang.String layerName)
layerName - layer name, content of which has been changed by the current user(session)contentChangedExternally(java.lang.String),
contentUpdatedAsynchronously(datalator.layers.sprav.SpravLayer)public void contentLoaded(Layer layer)
layer - reference to the SpravLayer, which content just has been loadedcontentUpdatedAsynchronously(datalator.layers.sprav.SpravLayer),
contentChangedExternally(java.lang.String),
contentChangedInternally(java.lang.String)public void contentUpdatedAsynchronously(SpravLayer spravLayer)
spravLayer - reference to SpravLayer, which content just been reloadedcontentLoaded(datalator.layers.Layer)
public static void copySameFieldsValues(SpravLayer sourceLayer,
SpravRecord sourceRecord,
SpravLayer targetLayer,
SpravRecord targetRecord)
sourceLayer - source SpravLayersourceRecord - source SpravRecordtargetLayer - target SpravLayertargetRecord - target SpravRecordpublic static void createApplication(java.lang.String appName)
appName - a name of the new application to be created.removeApplication(java.lang.String)public static SpravRecord createSpravRecord(SpravLayer spravLayer)
setField(SpravLayer spravLayer, SpravRecord sr, String fieldName, String value)
spravLayer - a SpravLayer to create a SpravRecord for
public static void deleteRecord(SpravLayer spravLayer,
int activeRecord)
spravLayer - A SpravLayer to delete a SpravRecord fromactiveRecord - Position of the active SpravRecord to be deleted in the Vector records of the SpravLayerdeleteRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord)
public static void deleteRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
spravLayer - A SpravLayer to delete a SpravRecord fromspravRecord - SpravRecord to be deleted from the DatabasedeleteRecord(datalator.layers.sprav.SpravLayer, int)
public static byte[] downloadFile(java.lang.String fileName,
java.lang.String empty1,
java.lang.String empty2,
java.lang.String stagingFolder,
javax.swing.JProgressBar progressBar,
javax.swing.JLabel sizeLabel)
stopDownload().
fileName - name of the file to be downloaded from the serverempty1 - reserved for internal use, has to be ""empty2 - reserved for internal use, has to be ""stagingFolder - full directory name on the server host where to look for the requested fileprogressBar - a javax.swing.JProgressBar to reflect downloading progress, might be nullsizeLabel - a lavax.swing.JLabel to show the size of encoded file to be downloaded, might be null
public static void enter(SpravLayer spravLayer)
spravLayer - SpravLayer, which record are to be reloadedpublic static void enter(DocsLayer docsLayer)
docsLayer - a DocsLayer, which records are to be reloaded
public static DocsLayer enterInvisibleDocs(Layer parentLayer,
java.lang.String newLayerName)
enter(datalator.layers.docs.DocsLayer) to use thus providing access to
DocsLayers records. Unloading escape(datalator.layers.Layer) of the invisible Layer is not mandatory.
parentLayer - if not null, activation of the DocsLayer will be recorded for use in SaaS applicationsnewLayerName - name of the DocsLayer to load without visualization
enterVisibleDocs(datalator.layers.Layer, java.lang.String),
escape(datalator.layers.Layer)
public static MenuLayer enterInvisibleMenu(Layer parentLayer,
java.lang.String newLayerName)
(java.lang.String)
available to use, such enabling invisible navigation into complex Layers structures. Unloading
escape(datalator.layers.Layer) of the invisible Layer is not mandatory.
parentLayer - if not null, activation of the MenuLayer will be recorded for use in SaaS applicationsnewLayerName - name of the MenuLayer to load without visualization
enterVisibleMenu(datalator.layers.Layer, java.lang.String),
escape(datalator.layers.Layer)
public static SpravLayer enterInvisibleSprav(Layer parentLayer,
java.lang.String newLayerName)
escape(datalator.layers.Layer) of the invisible Layer is not mandatory.
SpravLayers are used normally to create hierarchies from SQL tables like: (counties)-(cities of counties)-(streets of cities). When records of (countries) are created, they use as a key the record of a parent menu, which activated (countries). Respectfully, (cities) use a particular (countries)-record as a key and (streets) use a particular (cities)-record as a key. That means, to receive from the database a streets list for a particular city of a specific country, a programmer has to code like that (we assume that all quoted names were defined when visually developing that Application):
MenuLayer menu = enterInvisibleMenu(null, menuName); // all menu record contained in one table, null as a parent is valid here
setActiveMenuRecord(menu, "Countries"); // must be set, "Countries"-record used as a key for (countries)-table
SpravLayer countries = enterInvisibleSprav(menu, "Countries"); // loads available countries list
for(int i = 0; i < getRecordsNumber(countries); i++){
SpravRecord country = countries.records.elementAt(i);
String countryName = getField(country, "Country Name");
if(countryName.equals("Canada")){
country.activeRecord = i;
break;
}
}
SpravLayer cities = enterInvisibleSprav(countries, "Cities"); // loads available cities list for "Canada"
for(int i = 0; i < getRecordsNumber(cities); i++){
SpravRecord city = cities.records.elementAt(i);
String cityName = getField(city, "City Name");
if(countryName.equals("Toronto")){
city.activeRecord = i;
break;
}
}
SpravLayer streets = enterInvisibleSprav(cities, "Streets"); // loads available streets for Toronto, Canada
parentLayer - if not null, activation of the MenuLayer will be recorded for use in SaaS applications.
The parentLayer "activeRecord" used to index SpravLayer records when they created, must be the same to select content.newLayerName - name of the SpravLayer to load without visualization
public static void enterMenuLine(java.lang.String value)
setActiveMenuRecord(datalator.layers.menu.MenuLayer, java.lang.String) and
one of "enterInvisible..." or "enterVisible..." family methods, like in a snippet:
MenuLayer menu = enterInvisibleMenu(null, "menu1");
setActiveMenuRecord(menu, "line 1"); // must be set, "line 1" used as a key
DocsLayer docs = enterInvisibleDocs(menu, "docs1");
value - content of the line to "enter into" and activate an attached Layer or action.
public static DocsLayer enterVisibleDocs(Layer parentLayer,
java.lang.String newLayerName)
escape(datalator.layers.Layer).
parentLayer - if not null, activation of the DocsLayer will be recorded for use in SaaS applications.
Setting to null does not affect the DocsLayer content selection, which depends on values of filter fields only.newLayerName - name of the DocsLayer to load
enter(datalator.layers.docs.DocsLayer).
public static MenuLayer enterVisibleMenu(Layer parentLayer,
java.lang.String newLayerName)
escape(datalator.layers.Layer).
parentLayer - if not null, activation of the MenuLayer will be recorded for use in SaaS applications.newLayerName - name of the MenuLayer to load
public static SpravLayer enterVisibleSprav(Layer parentLayer,
java.lang.String newLayerName)
escape(datalator.layers.Layer).
parentLayer - must not be null to properly load the content.
See explanation and a snippet for enterInvisibleSprav(datalator.layers.Layer, java.lang.String)newLayerName - name of the SpravLayer to load
public static void escape(Layer layer)
layer - reference to a layer to be "escaped"public static java.lang.String formatPresentDate()
formatPresentTime()public static java.lang.String formatPresentTime()
formatPresentDate()public static Layer getActiveLayer()
public static SpravRecord getActiveRecord(SpravLayer spravLayer)
spravLayer - Sprav(Menu, Docs)Layer to find an active record into
public static long getApplicationSize(java.lang.String appName)
appName - of an Application
public static java.lang.String[] getBackgroundNames()
setBackground(java.lang.String),
setBackground(java.awt.Image)
public static javax.swing.JComponent getCustomComponentByName(java.lang.String name,
Layer layer)
name - name given to a UI element when visually designing the layerlayer - the layer to look a UI element for
getCustomComponents(datalator.layers.Layer)public static java.util.Vector<javax.swing.JComponent> getCustomComponents(Layer layer)
layer - the layer to look UI elements for
getCustomComponentByName(java.lang.String, datalator.layers.Layer)
public static java.lang.String getField(SpravLayer spravLayer,
SpravRecord spravRecord,
java.lang.String fieldName)
spravLayer - the SpravLayer to extract the field content fromspravRecord - the SpravLayer record to extract the field content fromfieldName - name of the field to extract content from
setField(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord, java.lang.String, java.lang.String)
public static java.lang.String getFilterField(DocsLayer layer,
java.lang.String fieldName)
layer - reference to the DocsLayer to extract the filter field content fromfieldName - name of the filter field to extract content from
getField(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord, java.lang.String),
getFilterFields(datalator.layers.docs.DocsLayer)public static java.util.Vector<FilterField> getFilterFields(DocsLayer docsLayer)
docsLayer - reference to the docsLayer
public static javax.swing.JButton getHtmlLayerModeButton(HtmlLayer htmlLayer)
setVisible(false) and such to disable unauthorized content change.
htmlLayer - reference to HTML Layer
getTextLayerSaveButton(datalator.layers.text.TextLayer),
getTextLayerText(datalator.layers.text.TextLayer),
setTextLayerText(datalator.layers.text.TextLayer, java.lang.String)
public static javax.swing.JTextField getInputField(SpravLayer spravLayer,
java.lang.String fieldName)
spravLayer - reference to the SpravLayerfieldName - name of the InputField, consistent with the name of respectful JLabel or JButton
getInputFields(datalator.layers.sprav.SpravLayer),
setInputField(datalator.layers.InputLayer, java.lang.String, java.lang.String),
setInputField(datalator.layers.sprav.SpravLayer, java.lang.String, java.lang.String)public static java.util.Vector<InputField> getInputFields(SpravLayer spravLayer)
spravLayer - reference to the SpravLayer
getInputField(datalator.layers.sprav.SpravLayer, java.lang.String),
setInputField(datalator.layers.InputLayer, java.lang.String, java.lang.String),
setInputField(datalator.layers.sprav.SpravLayer, java.lang.String, java.lang.String)public static SpravLayer getInputLayerOwner(InputLayer inputLayer)
inputLayer - reference to InputLayer
openInput(datalator.layers.sprav.SpravLayer)public static int getInputMode(InputLayer inputLayer)
0 - input 1 - browse 2 - search "starting with substring" 3 - search "containing substring" 4 - edit
inputLayer - reference to InputLayer
preSwitchInputMode(datalator.layers.sprav.SpravLayer, int),
switchInputMode(datalator.layers.InputLayer, int)public static Layer getLayerByName(java.lang.String layerName)
layerName - Name of the Layer to be found
null if not foundgetLayers(),
getLayerFloor(datalator.layers.Layer),
getParentLayer(datalator.layers.Layer)public static int getLayerFloor(Layer layer)
layer - reference to the Layer
null.getLayers(),
getLayerByName(java.lang.String),
getParentLayer(datalator.layers.Layer)public static java.util.Vector<Layer> getLayers()
getLayerByName(java.lang.String),
getLayerFloor(datalator.layers.Layer),
getParentLayer(datalator.layers.Layer)public static java.lang.String getLocalIP()
public static int getMainPanelHeight()
public static int getMainPanelWidth()
public static Layer getParentLayer(Layer layer)
layer - Layer which parent is to be found
getLayers(),
getLayerByName(java.lang.String),
getLayerFloor(datalator.layers.Layer),
getParentLayer(datalator.layers.Layer)public static int getRecordsNumber(SpravLayer spravLayer)
spravLayer - reference to the SpravLayer
public static java.lang.String[] getServerRunTimeInfo()
public static javax.swing.JButton getTextLayerSaveButton(TextLayer textLayer)
setVisible(false) and such to disable unauthorized content change.
textLayer - reference to TextLayer
getHtmlLayerModeButton(datalator.layers.text.HtmlLayer),
getTextLayerText(datalator.layers.text.TextLayer),
setTextLayerText(datalator.layers.text.TextLayer, java.lang.String)public static java.lang.String getTextLayerText(TextLayer textLayer)
textLayer - reference to the TextLayer
getHtmlLayerModeButton(datalator.layers.text.HtmlLayer),
getTextLayerSaveButton(datalator.layers.text.TextLayer),
setTextLayerText(datalator.layers.text.TextLayer, java.lang.String)public static java.awt.Container getTopContainer()
public static User getUser()
public static java.lang.String getUserGroup()
getUserName()public static java.lang.String getUserName()
getUserGroup()public static java.lang.String getWebPageParameter()
.
- Returns:
- we page defined parameter.
public static void initApplet(javax.swing.JApplet applet,
java.lang.String userBuild)
applet - reference to the JApplet like in code snippet:
public class MyApplet extends UserApplet{
public void init() {
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); // recommended for UI consistency
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e){}
MyApplet.setUserCode();
MyApplet.initApplet(this, "MyApplet build 08-10-2011");
}
}
userBuild - String which will be displayed on the Applet background, just above build string of the core buildStringpublic static boolean isApplet()
true if the Application running as Java Applet, false if as Java Application.
true if the Application running as Java Applet, false if as Java Application.public static void openInput(SpravLayer spravLayer)
spravLayer - reference to a SpravLayer
public static void logLine(java.lang.String logName,
java.lang.String message)
logName - file namemessage - message
public void postAddRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
spravLayer - SpravLayer which a record has been just added topostDeleteRecord(datalator.layers.sprav.SpravLayer),
preAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord),
preDeleteRecord(datalator.layers.sprav.SpravLayer)public void postDeleteRecord(SpravLayer spravLayer)
spravLayer - SpravLayer which a record has been just deleted frompostAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord),
preAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord),
preDeleteRecord(datalator.layers.sprav.SpravLayer)
public void postEnterLayer(Layer layer,
SpravRecord spravRecord)
getActiveLayer().
layer - the "parent" layer, which activated another onespravRecord - a SpravRecord, which has been double-clicked on, activated by enter key or programmatically
by enter(datalator.layers.sprav.SpravLayer) or enter... methods family.preEnterLayer(datalator.layers.Layer),
preEnterLayer(datalator.layers.Layer, datalator.layers.sprav.SpravRecord),
preEnterPressedInputLayer(datalator.layers.sprav.SpravLayer, datalator.layers.InputField, int)
public void postEnterPressedInputLayer(SpravLayer spravLayer,
InputField inputField,
int editMode)
spravLayer - reference to the SpravLayer, which content has been just alteredinputField - is an owner of the TextField, which detected enter key pressededitMode - 0 when a SpravRecord has been added, 4 when a SpravRecord has been replacedpreEnterPressedInputLayer(datalator.layers.sprav.SpravLayer, datalator.layers.InputField, int)public void postEscapeLayer(Layer layer)
layer - the layer which has been just "escaped"preEscapeLayer(datalator.layers.Layer)
public void postFocusGainedInputField(Layer layer,
InputField inputField)
layer - owner of the InputFieldinputField - InputField gained input focuspostFocusGainedInputField(datalator.layers.Layer, datalator.layers.InputField)public void postImageWindowClicked(java.lang.String imageId)
imageId - image id, consisting from the layer name, SpravRecord id and Image Field name.preImageWindowClicked(String imageId)public void postInputFieldTypedIn(Layer layer)
preAddRecord() and postaddRecord() gets invoked.
layer - reference to the active layerpreInputFieldTypedIn(datalator.layers.Layer),
preAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord),
postAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord)
public void postLoadEntryLayer(java.lang.String appName,
java.lang.String entryLayerName,
java.lang.String userName,
java.lang.String password)
appName - name of application a used connected toentryLayerName - name of the entry layer nameuserName - id, which user have connected withpassword - password, which user have connected withpreLoadEntryLayer(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
public void postMouseLeftClicked(SpravLayer spravLayer,
java.awt.event.MouseEvent me)
spravLayer - reference to the Layer, which UI was left-clicked onme - reference to the MouseEvent, which was detected on the Layer UIpreMouseLeftClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent),
preMouseRightClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent),
postMouseRightClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent)
public void postMouseRightClicked(SpravLayer spravLayer,
java.awt.event.MouseEvent me)
spravLayer - reference to the Layer, which UI was right-clicked onme - reference to the MouseEvent, which was detected on the Layer UIpreMouseLeftClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent),
preMouseRightClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent),
postMouseLeftClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent)public void postOpenFilterWindow(DocsLayer docsLayer)
preOpenFilterWindow(datalator.layers.docs.DocsLayer),
postOpenInputWindow(datalator.layers.sprav.SpravLayer),
preOpenInputWindow(datalator.layers.sprav.SpravLayer)public void postOpenInputWindow(SpravLayer spravLayer)
spravLayer - reference to SpravLayer which InputLayer has been just visualizedpreOpenInputWindow(datalator.layers.sprav.SpravLayer),
preOpenFilterWindow(datalator.layers.docs.DocsLayer),
postOpenFilterWindow(datalator.layers.docs.DocsLayer)
public void postOpenServiceMenu(SpravLayer spravLayer,
java.lang.String supportMenuName)
spravLayer - reference to a SpravLayersupportMenuName - name of "supporting" MenuLayerpreOpenServiceMenu(datalator.layers.sprav.SpravLayer, java.lang.String)
public void postPaintCustomComponent(java.awt.Graphics g,
java.lang.String name,
Layer layer,
javax.swing.JComponent jc)
g - java.awt.Graphics to paint uponname - name of the UI componentlayer - layer, which UI component belongs tojc - reference to javax.swing.JComponent
public void postPaintLayer(java.awt.Graphics g,
Layer layer)
g - reference to java.awt.graphics to paint uponlayer - reference to the Layer
public void postPaintLayerWindow(java.awt.Graphics g,
Layer layer,
LayerWindow lw)
g - reference to java.awt.graphics to paint uponlayer - reference to the layerlw - reference to LayerWindow to be paintedprePaintLayerWindow(java.awt.Graphics, datalator.layers.Layer, datalator.layers.LayerWindow)public void postReloadContent(SpravLayer spravLayer)
spravLayer - reference to the SpravLayer, which content has been changedpreReloadContent(datalator.layers.sprav.SpravLayer)
public void postReplaceRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
spravLayer - reference to SpravLayer which SpravRecord has been replacedspravRecord - reference to SpravRecord which has been replacedpreReplaceRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord)
public void postSettingSupport(SpravLayer spravLayer,
SpravRecord sourceRecord,
InputField inputField,
javax.swing.JTextField targetTextField)
spravLayer - reference to SpravLayer, which has been used as a drop-down listsourceRecord - reference to SpravRecord, which has been used to setup valueinputField - reference to target InputFieldtargetTextField - reference to target JTextFieldpreSettingSupport(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord, datalator.layers.InputField, javax.swing.JTextField)public void postStartConnectionDialog()
preStartConnectionDialog()public void postStartSupportLayer(java.lang.String layerName)
layerName - name of the SpravLayer which has been just visualizedpreStartSupportLayer(java.lang.String)
public boolean preAddRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
spravLayer - SpravLayer which a SpravRecord is to be added to
true if normal system processing authorized, false to suppress normal system processingpostDeleteRecord(datalator.layers.sprav.SpravLayer),
postAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord),
preDeleteRecord(datalator.layers.sprav.SpravLayer)public boolean preDeleteRecord(SpravLayer spravLayer)
spravLayer - SpravLayer which a record is to be deleted from
true if normal system processing authorized, false to suppress normal system processingpostAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord),
preAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord),
preDeleteRecord(datalator.layers.sprav.SpravLayer)public boolean preEnterLayer(Layer layer)
layer - reference to a layer which is about to initiate "double click" or "enter-key" processing.
true if normal system processing authorized, false to suppress normal system processingpostEnterLayer(datalator.layers.Layer, datalator.layers.sprav.SpravRecord),
preEnterLayer(datalator.layers.Layer, datalator.layers.sprav.SpravRecord)
public boolean preEnterLayer(Layer layer,
SpravRecord spravRecord)
layer - reference to a layer which is about to initiate "activation" of another layerspravRecord - reference to SpravRecord which was double-clicked or enter-keyed to initiate another layer activation.
true if normal system processing authorized, false to suppress normal system processingpostEnterLayer(datalator.layers.Layer, datalator.layers.sprav.SpravRecord),
preEnterLayer(datalator.layers.Layer)
public boolean preEnterPressedInputLayer(SpravLayer spravLayer,
InputField inputField,
int editMode)
spravLayer - reference to the SpravLayer, which content is to be alteredinputField - is the owner of the TextField, which detected enter key pressededitMode - 0 when a SpravRecord has been added, 4 when a SpravRecord has been replaced
true if normal system processing authorized, false to suppress normal system processingpostEnterPressedInputLayer(datalator.layers.sprav.SpravLayer, datalator.layers.InputField, int)public boolean preEscapeLayer(Layer layer)
layer - the layer is to be "escaped"
true if normal system processing authorized, false to suppress normal system processingpostEscapeLayer(datalator.layers.Layer)
public boolean preFocusGainedInputField(Layer layer,
InputField inputField)
layer - owner of the InputFieldinputField - InputField gained input focus
true if normal system processing authorized, false to suppress normal system processingpostFocusGainedInputField(datalator.layers.Layer, datalator.layers.InputField)public boolean preImageWindowClicked(java.lang.String imageId)
imageId - image id, consisting from the layer name, SpravRecord id and Image Field name.
true if normal system processing authorized, false to suppress normal system processingpostImageWindowClicked(String imageId)public boolean preInputFieldTypedIn(Layer layer)
preAddRecord() and postaddRecord() gets invoked.
layer - reference to the active layer
true if normal system processing authorized, false to suppress normal system processingpreInputFieldTypedIn(datalator.layers.Layer),
preAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord),
postAddRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord)
public boolean preLoadEntryLayer(java.lang.String appName,
java.lang.String entryLayerName,
java.lang.String userName,
java.lang.String password)
appName - name of application a used connected toentryLayerName - name of the entry layer nameuserName - id, which user have connected withpassword - password, which user have connected with
true if normal system processing authorized, false to suppress normal system processingpostLoadEntryLayer(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
public boolean preMouseLeftClicked(SpravLayer spravLayer,
java.awt.event.MouseEvent me)
spravLayer - reference to the Layer, which UI was left-clicked onme - reference to the MouseEvent, which was detected on the Layer UI
true if normal system processing authorized, false to suppress normal system processingpostMouseLeftClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent),
preMouseRightClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent),
postMouseRightClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent)
public boolean preMouseRightClicked(SpravLayer spravLayer,
java.awt.event.MouseEvent me)
spravLayer - reference to the Layer, which UI was right-clicked onme - reference to the MouseEvent, which was detected on the Layer UI
true if normal system processing authorized, false to suppress normal system processingpreMouseLeftClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent),
postMouseRightClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent),
postMouseLeftClicked(datalator.layers.sprav.SpravLayer, java.awt.event.MouseEvent)public boolean preOpenFilterWindow(DocsLayer docsLayer)
true if normal system processing authorized, false to suppress normal system processingpostOpenFilterWindow(datalator.layers.docs.DocsLayer),
postOpenInputWindow(datalator.layers.sprav.SpravLayer),
preOpenInputWindow(datalator.layers.sprav.SpravLayer)public boolean preOpenInputWindow(SpravLayer spravLayer)
spravLayer - reference to SpravLayer which InputLayer has been just visualized
true if normal system processing authorized, false to suppress normal system processingpostOpenInputWindow(datalator.layers.sprav.SpravLayer),
preOpenFilterWindow(datalator.layers.docs.DocsLayer),
postOpenFilterWindow(datalator.layers.docs.DocsLayer)
public boolean preOpenServiceMenu(SpravLayer spravLayer,
java.lang.String serviceMenuName)
spravLayer - reference to a SpravLayerserviceMenuName - name of "supporting" MenuLayer
true if normal system processing authorized, false to suppress normal system processingpostOpenServiceMenu(datalator.layers.sprav.SpravLayer, java.lang.String)
public boolean prePaintLayerWindow(java.awt.Graphics g,
Layer layer,
LayerWindow lw)
g - reference to java.awt.graphics to paint uponlayer - reference to the layerlw - reference to LayerWindow to be painted
true if normal system processing authorized, false to suppress normal system processingpostPaintLayerWindow(java.awt.Graphics, datalator.layers.Layer, datalator.layers.LayerWindow)public boolean preReloadContent(SpravLayer spravLayer)
spravLayer - reference to the SpravLayer, which content to be changed
true if normal system processing authorized, false to suppress normal system processingpostReloadContent(datalator.layers.sprav.SpravLayer)
public boolean preReplaceRecord(SpravLayer spravLayer,
SpravRecord spravRecord)
spravLayer - reference to SpravLayer which SpravRecord to be replacedspravRecord - reference to SpravRecord to be replaced
true if normal system processing authorized, false to suppress normal system processingpostReplaceRecord(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord)
public boolean preReportChangingLayer(Layer source,
Layer dest,
boolean enterFlag)
source - reference to a source Layerdest - reference to a destination LayerenterFlag - if true then destination Layer has been activated, if false then
source Layer has been escaped.
true if normal system processing authorized, false to suppress normal system processing
public boolean preSettingSupport(SpravLayer spravLayer,
SpravRecord sourceRecord,
InputField inputField,
javax.swing.JTextField targetTextField)
spravLayer - reference to SpravLayer, which will be used as a drop-down listsourceRecord - reference to SpravRecord, which will be used to setup valueinputField - reference to target InputFieldtargetTextField - reference to target JTextField
true if normal system processing authorized, false to suppress normal system processingpostSettingSupport(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord, datalator.layers.InputField, javax.swing.JTextField)public void preShowConnectionDialog(java.util.Properties comps)
public void preShowConnectionDialog(Properties comps){
JTextField port1 = (JTextField)comps.get("TextField Server Port");
JTextField port2 = (JTextField)comps.get("TextField Feedback Port");
JTextField server = (JTextField)comps.get("TextField Server");
JTextField app = (JTextField)comps.get("TextField Application");
JTextField us = (JTextField)comps.get("TextField User");
JTextField password = (JTextField)comps.get("PasswordField Password");
JButton enterButton = (JButton) comps.get("Enter Button");
JButton cancelButton = (JButton) comps.get("Cancel Button");
JLabel l1 = (JLabel) comps.get("Label Application");
JLabel l2 = (JLabel) comps.get("Label Server");
JLabel l3 = (JLabel) comps.get("Label Server Port");
JLabel l4 = (JLabel) comps.get("Label Feedback Port");
JLabel l5 = (JLabel) comps.get("Label User");
JLabel l6 = (JLabel) comps.get("Label Password");
}
comps - java.util.Properties containing controls of Connection Dialogpublic boolean preStartConnectionDialog()
public boolean preStartConnectionDialog(){
String webPageParameter = getWebPageParameter();
if(webPageParameter.equals("myApp 1.0")) {
setWaitCursor();
if(!connect(8081, 8082, "myServer.com", "myApp 1.0", "guest", "guest", true, "1111222211112222")){
System.out.println("Cannot connect...");
setDefaultCursor();
shutDown();
}
else{
setDefaultCursor();
return false; // connected successfully, do not show connection dialog, start myApp1
}
}
if(webPageParameter.equals("myApp 2.0")) {
setWaitCursor();
if(!connect(8081, 8082, "myServer.com", "myApp 2.0", "guest", "guest", true, "1111222211112222")){
System.out.println("Cannot connect...");
setDefaultCursor();
shutDown();
}
else{
setDefaultCursor();
return false; // connected successfully, do not show connection dialog, start myApp2
}
}
return true;
}
postStartConnectionDialog(),
connect(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String)public boolean preStartSupportLayer(java.lang.String layerName)
layerName - name of the SpravLayer to be visualized
true if normal system processing authorized, false to suppress normal system processingpostStartSupportLayer(java.lang.String)
public boolean preSwitchInputMode(SpravLayer spravLayer,
int inputMode)
0 - input 1 - browse 2 - search "starting with substring" 3 - search "containing substring" 4 - editUseful to deny records modification by not authorized user.
spravLayer - reference to a SpravLayer, which InputForm requested to change input mode.inputMode -
true if normal system processing authorized, false to suppress normal system processingswitchInputMode(datalator.layers.InputLayer, int)
public void recordLockStateChanged(java.lang.String layerName,
long recordId,
boolean locked)
layerName - name of the layer which record lock status has been changedrecordId - id of the SpravRecord, which lock has been changedlocked - if true then the record has been locked by somebody, if false the record has been unlocked.public static void reloadContent(SpravLayer spravLayer)
spravLayer - reference the SpravLayer to be updated.reloadContentAndWait(datalator.layers.Layer)public static void reloadContentAndWait(Layer spravLayer)
spravLayer - reference to the SpravLayer to be updated.reloadContent(datalator.layers.sprav.SpravLayer)public static void removeApplication(java.lang.String appName)
appName - a name of the new application to be removed.createApplication(java.lang.String)public static void removeFilterFieldSupport(SpravLayer spravLayer)
spravLayer - reference to the SpravLayersetSupportMode(boolean)public static void repaintAll(int delay)
delay - milliseconds before request UI repaintingpublic static void repaintAll()
public static void replaceSpravRecordAndWait(SpravLayer spravLayer,
SpravRecord spravRecord)
spravLayer - reference to the SpravLAyer, which SpravRecord is to be replaced.spravRecord - reference to SpravRecord to be replaced.public static java.lang.String[] restartServer()
public static void restoreKeyboardFocus()
public static void rollbackLongTransaction()
replaceSpravRecordAndWait(SpravLayer layer, SpravRecord dataRecord)) issued by a client
usually translates into a series of SQL sentences on the server side. Thus every request has it's own "commit" or "rollback"
statements in the sequence.
When a developer programs a transaction, consisting of a few atomic requests(e.g. deletion of a few records),
it is necessary to issue startLongTransaction() to commence the transaction, which suppresses "commits"
of atomic requests.
If a developer is not satisfied with the transaction execution, he or she has to issue
commitLongTransaction() to return the Database to a state before that long transaction started.
commitLongTransaction()
public static java.lang.String[] saveTextContentAndWait(java.lang.String textLayerName,
java.lang.String parentLayerName,
long parentRecordId,
java.lang.String text)
textLayerName - name of the TextLayerparentLayerName - name of the "parent" Layer, which activates the given TexLayerparentRecordId - recordId of the "parent" layer record, which text content will be attached totext - content to save in the Database
saveTextLayerText(datalator.layers.text.TextLayer)public static java.lang.String[] saveTextLayerText(TextLayer textLayer)
textLayer - reference to TextLayer
saveTextContentAndWait(java.lang.String, java.lang.String, long, java.lang.String)
public static void setActiveMenuRecord(MenuLayer menuLayer,
java.lang.String content)
menuLayer - reference to MenuLayercontent - content of the record to be set as activesetActiveRecord(datalator.layers.sprav.SpravLayer, int),
setActiveRecord(datalator.layers.sprav.SpravLayer, long)
public static void setActiveRecord(SpravLayer spravLayer,
long recordId)
spravLayer - reference to SpravLayerrecordId - id of the record to be set as activesetActiveMenuRecord(datalator.layers.menu.MenuLayer, java.lang.String),
setActiveRecord(datalator.layers.sprav.SpravLayer, int)
public static void setActiveRecord(SpravLayer spravLayer,
int recordNum)
Vector of records.
spravLayer - reference to SpravLayerrecordNum - desirable position of active record in the records setsetActiveMenuRecord(datalator.layers.menu.MenuLayer, java.lang.String),
setActiveRecord(datalator.layers.sprav.SpravLayer, long)
public static void setAuxFilterFieldText(FilterField filterField,
java.lang.String text)
filterField - reference to FilterFieldtext - content of the FilterField's TextFieldpublic static void setBackground(java.lang.String name)
name - name of the background image.getBackgroundNames(),
setBackground(java.awt.Image)public static boolean setBackground(java.awt.Image image)
image - reference to the background image.
true if installation of the new background was successful, false otherwisegetBackgroundNames(),
setBackground(java.lang.String)public static void setDefaultCursor()
setWaitCursor()
public static void setField(SpravLayer spravLayer,
SpravRecord spravRecord,
java.lang.String fieldName,
java.lang.String value)
spravLayer - the SpravLayer to set the field value forspravRecord - the SpravLayer record to set the field value forfieldName - name of the field to set value forvalue - value of the field to setgetField(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord, java.lang.String)
public static void setFilterField(DocsLayer docsLayer,
java.lang.String fieldName,
java.lang.String value)
docsLayer - reference to the DocsLayer to set the filter field content forfieldName - name of the filter field to set content forvalue - value of the FilterField to setgetField(datalator.layers.sprav.SpravLayer, datalator.layers.sprav.SpravRecord, java.lang.String),
getFilterField(datalator.layers.docs.DocsLayer, java.lang.String),
getFilterFields(datalator.layers.docs.DocsLayer)
public static void setFilterFieldOperation(FilterField filterField,
int op)
filterField - FilterField to set the operation forop - operation code:
0 - equal ("=")
1 - greater than (">")
2 - less than ("<")
3 - between an inclusive range ("><")
4 - greater than or equal (">=")
5 - less than or equal ("<=")
6 - not equal ("!=")
7 - like (Search for a pattern ("~")
public static void setFilterFieldText(FilterField filterField,
java.lang.String value)
filterField - FilterField to set value forvalue - value to set
public static void setInputField(SpravLayer spravLayer,
java.lang.String fieldName,
java.lang.String value)
spravLayer - reference to SpravLayerfieldName - name of the InputField to set the valuevalue - value to setsetInputField(datalator.layers.sprav.SpravLayer, java.lang.String, java.lang.String),
setInputFieldText(datalator.layers.InputField, java.lang.String)
public static void setInputField(InputLayer inputLayer,
java.lang.String fieldName,
java.lang.String value)
inputLayer - reference to InputLayerfieldName - name of the InputField to set the valuevalue - value to setsetInputField(datalator.layers.sprav.SpravLayer, java.lang.String, java.lang.String),
setInputFieldText(datalator.layers.InputField, java.lang.String)
public static void setInputFieldText(InputField inputField,
java.lang.String value)
inputField - reference to InputFieldvalue - value to setsetInputField(datalator.layers.InputLayer, java.lang.String, java.lang.String),
setInputField(datalator.layers.sprav.SpravLayer, java.lang.String, java.lang.String)
public static void setLayerMainWindowCaption(Layer layer,
java.lang.String text,
java.awt.Color frontColor,
java.awt.Color backColor)
layer - reference to the Layer to set caption fortext - caption to setfrontColor - font color to use when drawing the captionbackColor - background color to use when drawing the caption
public static void setLocation(Layer layer,
int newX,
int newY)
layer - reference to the LayernewX - top left corner X positionnewY - top left corner Y positionsetSize(datalator.layers.Layer, int, int)public static void setShadowDefault(Layer layer)
layer - reference to the LayersetShadowExtended(datalator.layers.Layer)public static void setShadowExtended(Layer layer)
layer - reference to be LayersetShadowDefault(datalator.layers.Layer)
public static void setSize(Layer layer,
int newWidth,
int newHeight)
layer - reference to the LayernewWidth - new Layer widthnewHeight - new Layer heightsetLocation(datalator.layers.Layer, int, int)public static void setSupportMode(boolean flag)
flag - if true sets runtime support mode, if false clears runtime support moderemoveFilterFieldSupport(datalator.layers.sprav.SpravLayer)
public static void setTextFieldColors(InputField inputField,
java.awt.Color fore,
java.awt.Color back)
inputField - reference to InputFieldfore - font colorback - background color
public static void setTextLayerButtonsVisible(TextLayer textLayer,
boolean flag)
textLayer - reference to TextLayerflag - if true buttonsare visible, if false they are invisible
public static void setTextLayerText(TextLayer textLayer,
java.lang.String text)
textLayer - reference to TextLayertext - content to setgetTextLayerText(datalator.layers.text.TextLayer)public static void setWaitCursor()
setDefaultCursor()public static void showMessage(java.lang.String message)
message - message to be repainted.public static void showMessageImmediately(java.lang.String message)
message - message to be repaintedpublic static void startLongTransaction()
replaceSpravRecordAndWait(SpravLayer layer, SpravRecord dataRecord)) issued by a client
usually translates into a series of SQL sentences on the server side. Thus every request has it's own "commit" or "rollback"
statements in the sequence.
When a developer programs a transaction consisting of a few atomic requests(e.g. deletion of a few records),
it is necessary to issue startLongTransaction() to commence the transaction, which suppresses "commits"
of atomic requests.
If a developer is not satisfied with the transaction execution, he or she has to issue
rollbackLongTransaction() to return the Database to a state before that long transaction started.
rollbackLongTransaction(),
commitLongTransaction()public static void shutDown()
connect(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String)public static java.lang.String[] stopServer()
startServer(), restartServer(),
shutDownServer() and getServerRunTimeInfo() will be processed.
public static java.lang.String[] startServer()
stopServer(),
restartServer(),
shutDownServer(),
getServerRunTimeInfo()public static java.lang.String[] shutDownServer()
restartServer() request issued, the server quits with
code "1111" which is used by launch script to restart the server again. Note, Linux launch script receives the value
as "87". Administrator convenience method.
restartServer()
public static void switchInputMode(InputLayer inputLayer,
int times)
0 - input 1 - browse 2 - search "starting with substring" 3 - search "containing substring" 4 - edit
inputLayer - reference to InputLayertimes - number of time to switch the mode (e.g. from "input" to "edit" it will be 4 times)preSwitchInputMode(datalator.layers.sprav.SpravLayer, int)public static void stopDownload()
downloadFile(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.swing.JProgressBar, javax.swing.JLabel)
request. Because of the blocking Java input-output API employed in the current Datalator version,
that request might not be executed immediately.
downloadFile(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.swing.JProgressBar, javax.swing.JLabel)
public static void startClientApplication(int x,
int y,
int width,
int height,
java.lang.String serverIp,
java.lang.String appName,
java.lang.String id,
java.lang.String password,
java.lang.String buildString)
public class Main {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
datalator.user.MyApp.user = new datalator.user.MyApp(); // setting up the class, custom logic container
// or use convenience method MyApp.setUserCode();
datalator.user.MyApp.startClientApplication(50, 40, 1200, 800, "127.0.0.1", "MyApp", "", "", "MyApp3 build 07-29-2011");
}
});
}
}
x - x-position of the top left corner of application framey - y-position of the top left corner of application framewidth - width of the application frameheight - height of the application frameserverIp - server name or ip (e.g. "fancydata.com" or "127.0.0.1") to connect toappName - application name to connect toid - user idpassword - user passwordbuildString - optional string to be displayed in the left bottom corner of the application screen
public static void startFilterSupportLayer(DocsLayer docsLayer,
FilterField filterField)
docsLayer - reference to DocsLayerfilterField - reference to FilterFieldstartInputSupportLayer(datalator.layers.sprav.SpravLayer, datalator.layers.InputField)
public static void startInputSupportLayer(SpravLayer spravLayer,
InputField inputField)
spravLayer - reference to SpravLayerinputField - reference to InputFieldstartFilterSupportLayer(datalator.layers.docs.DocsLayer, datalator.layers.FilterField)public static void showRecordLockPeopleWorkingBelow(boolean flag)
flag - if true UI will show the icon, if false - not.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||