Class SC

java.lang.Object
com.smartgwt.client.util.SC

public class SC extends Object
  • Field Details

  • Constructor Details

    • SC

      public SC()
  • Method Details

    • getLicenseType

      public static String getLicenseType()
      Internal method - do not call from Application code.
    • getAUTOIDClass

      public static String getAUTOIDClass(String className)
      Internal method - do not call from Application code.
    • generateID

      public static String generateID()
      Internal method - do not call from Application code.
    • generateID

      public static String generateID(String className)
      Internal method - do not call from Application code.
    • releaseID

      public static void releaseID(String className, String id)
      Internal method - do not call from Application code.
    • keepGlobals

      public static boolean keepGlobals()
      Internal method - do not call from Application code.
    • getHome

      public static String getHome()
      Get the root directory for Isomorphic-supplied SmartClient files - the directory containing the modules/ and system/ subdirectories extracted when the SmartGWT project is built. This property is commonly specified directly in the bootstrap HTML file by setting window.isomorphicDir before loading the SmartClient library files.
      Returns:
      isomorphicDir URL
    • debugger

      public static void debugger()
      Launch the browser's JavaScript debugger. See Debugging for how to approach debugging a SmartGWT Application.
    • showConsole

      public static void showConsole()
      Open the SmartClient Developer Console. See Debugging for how to approach debugging a SmartGWT Application.
    • openDataSourceConsole

      public static void openDataSourceConsole()
      Opens the DataSource admin console in a separate window.

      Requires Smart GWT Pro or better.

    • openVisualBuilder

      public static void openVisualBuilder()
      Deprecated.
      The Visual Builder tool has been superceded by Reify
      Opens the SmartClient Visual Builder in a separate window. Note that the Visual Builder is capable of generating DataSources as well, however unlike the DataSource Generator Wizard, it cannot generate DataSources in batches.

      Requires Smart GWT Pro or better.

    • openDataSourceGenerator

      public static void openDataSourceGenerator()
      Opens the DataSource Generator Wizard in a separate window.

      Requires Smart GWT Enterprise or Eval.

    • getSCClassName

      public static String getSCClassName(JavaScriptObject jsObj)
      Gets the name of this underlying SmartClient class as a string.
      Parameters:
      jsObj - the smartclient object
      Returns:
      the class name or null if not a smartclient class
    • hasFirebug

      public static boolean hasFirebug()
      Returns true if Firebug is enabled.
      Returns:
      true if Firebug is enabled; false otherwise.
    • isIE

      public static boolean isIE()
      Internal method - do not call from Application code.
    • disableFirebug

      public static void disableFirebug()
      Disable firebug.
    • say

      public static void say(String message)
      Show a modal dialog with a message, icon, and "OK" button. Intended for notifications which are not really warnings (default icon is less severe). See sayIcon.
      Parameters:
      message - the message
    • setLogPriority

      public static void setLogPriority(String category, LogPriority priority)
      Set the priority for a log category.
      Parameters:
      category - the name of the category to set the priority for
      priority - the LogPriority to set for the passed category
    • clearLogPriority

      public static void clearLogPriority(String category)
      Clear the priority for a log category.
      Parameters:
      category - the name of the category to clear the log priority of
    • say

      public static void say(String title, String message)
      Show a modal dialog with a message, icon, and "OK" button. Intended for notifications which are not really warnings (default icon is less severe). See sayIcon.
      Parameters:
      title - the title of the message box
      message - the message
    • say

      public static void say(String message, BooleanCallback callback)
      Show a modal dialog with a message, icon, and "OK" button. Intended for notifications which are not really warnings (default icon is less severe). See sayIcon.

      The callback will receive boolean true for an OK button click, or null if the Dialog is dismissed via the close button.

      Parameters:
      message - the message
      callback - the callback to fire when the user dismisses the dialog.
    • say

      public static void say(String title, String message, BooleanCallback callback)
      Show a modal dialog with a message, icon, and "OK" button. Intended for notifications which are not really warnings (default icon is less severe). See sayIcon.

      The callback will receive boolean true for an OK button click, or null if the Dialog is dismissed via the close button.

      Parameters:
      title - the title of the message box
      message - the message
      callback - the callback to fire when the user dismisses the dialog.
    • ask

      public static void ask(String message, BooleanCallback callback)
      Show a modal dialog with a message, icon, and "Yes" and "No" buttons. See askIcon.

      The callback will receive boolean true for a Yes button click, boolean false for a No button click, or null if the Dialog is dismissed via the close button.

      Parameters:
      message - the message
      callback - the callback to fire when the user dismisses the dialog.
    • ask

      public static void ask(String title, String message, BooleanCallback callback)
      Show a modal dialog with a message, icon, and "Yes" and "No" buttons. See askIcon.

      The callback will receive boolean true for a Yes button click, boolean false for a No button click, or null if the Dialog is dismissed via the close button.

      Parameters:
      title - the title of the message box
      message - the message
      callback - the callback to fire when the user dismisses the dialog.
    • ask

      public static void ask(String title, String message, BooleanCallback callback, Dialog dialogProperties)
      Show a modal dialog with a message, icon, and "Yes" and "No" buttons. See askIcon.

      The callback will receive boolean true for a Yes button click, boolean false for a No button click, or null if the Dialog is dismissed via the close button.

      Parameters:
      title - the title of the message box
      message - the message
      callback - the callback to fire when the user dismisses the dialog.
    • askforValue

      public static void askforValue(String message, ValueCallback callback)
      Show a modal dialog with a text entry box, asking the user to enter a value.

      As with other convenience methods that show Dialogs, such as #warn(String, String, BooleanCallback) , the dialog is shown and the function immediately returns. When the user responds, the provided callback is called.

      If the user clicks OK, the value typed in is passed to the callback (including the empty string ("") if nothing was entered. If the user clicks cancel, the value passed to the callback is null.

      A default value for the text field can be passed via properties.defaultValue

      Keyboard focus is automatically placed in the text entry field, and hitting the enter key is the equivalent of pressing OK.

      Parameters:
      message - message to display
      callback - Callback to fire when the user clicks a button to dismiss the dialog. This has the single parameter 'value', indicating the user entry, or null if cancel was pressed or the window closed
    • askforValue

      public static void askforValue(String title, String message, ValueCallback callback)
      Show a modal dialog with a text entry box, asking the user to enter a value.

      As with other convenience methods that show Dialogs, such as #warn(String, String, BooleanCallback) , the dialog is shown and the function immediately returns. When the user responds, the provided callback is called.

      If the user clicks OK, the value typed in is passed to the callback (including the empty string ("") if nothing was entered. If the user clicks cancel, the value passed to the callback is null.

      Keyboard focus is automatically placed in the text entry field, and hitting the enter key is the equivalent of pressing OK.

      Parameters:
      title - the title of the dialog
      message - message to display
      callback - Callback to fire when the user clicks a button to dismiss the dialog. This has the single parameter 'value', indicating the user entry, or null if cancel was pressed or the window closed
    • askforValue

      public static void askforValue(String title, String message, String defaultValue, ValueCallback callback, Dialog dialogProperties)
      Show a modal dialog with a text entry box, asking the user to enter a value.

      As with other convenience methods that show Dialogs, such as #warn(String, String, BooleanCallback) , the dialog is shown and the function immediately returns. When the user responds, the provided callback is called.

      If the user clicks OK, the value typed in is passed to the callback (including the empty string ("") if nothing was entered. If the user clicks cancel, the value passed to the callback is null.

      Keyboard focus is automatically placed in the text entry field, and hitting the enter key is the equivalent of pressing OK.

      Parameters:
      title - the title of the dialog
      message - message to display
      defaultValue - the default value of the text field
      callback - Callback to fire when the user clicks a button to dismiss the dialog. This has the single parameter 'value', indicating the user entry, or null if cancel was pressed or the window closed
      dialogProperties - additional properties of the Dialog
    • dismissCurrentDialog

      public static void dismissCurrentDialog()
      If a dialog triggered via say(String), ask(String, BooleanCallback), warn(String), confirm(String, BooleanCallback) or askforValue(String, ValueCallback) is currently visible, it will be dismissed. The callback passed to the relevant method will never fire.

      Note this is a rarely used API with very few valid use cases. As an example, perhaps some kind of periodic (non-user triggered) event would cause an entire area of the UI to be removed (such as a tab) and the system wants to ensure that no modal dialogs are currently showing from that part of the UI. In this case, while dismissCurrentDialog could be used to ensure the part of the UI being removed didn't leave behind a modal dialog.

      To clear a modal prompt shown by showPrompt(String), use clearPrompt() instead.

    • showPrompt

      public static void showPrompt(String message)
      Show a modal prompt to the user. This method will display the message using the Dialog.Prompt singleton object.

      Note: if this prompt is to be shown to the user during some slow logic, we advise calling this method, then using DeferredCommand to kick off the slow logic in a separate thread. This ensures that the prompt is showing before the lengthy execution begins.

      Parameters:
      message - message to display
      See Also:
    • showPrompt

      public static void showPrompt(String title, String message, Dialog dialogProperties)
      Show a modal prompt to the user. This method will display the message using the Dialog.Prompt singleton object.

      Note: if this prompt is to be shown to the user during some slow logic, we advise calling this method, then using DeferredCommand to kick off the slow logic in a separate thread. This ensures that the prompt is showing before the lengthy execution begins.

      Parameters:
      title - the title of the dialog
      message - message to display
      dialogProperties - additional properties for the Dialog
      See Also:
    • showPrompt

      public static void showPrompt(String title, String message)
      Show a modal prompt to the user. This method will display the message using the Dialog.Prompt singleton object.

      Note: if this prompt is to be shown to the user during some slow logic, we advise calling this method, then using DeferredCommand to kick off the slow logic in a separate thread. This ensures that the prompt is showing before the lengthy execution begins.

      Parameters:
      title - the title of the dialog
      message - message to display
      See Also:
    • clearPrompt

      public static void clearPrompt()
      Clear the modal prompt being shown to the user.
    • confirm

      public static void confirm(String message, BooleanCallback callback)
      Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons. See confirmIcon.

      The callback will receive boolean true for an OK button click, or null for a Cancel click or if the Dialog is dismissed via the close button.

      Parameters:
      message - message to display
      callback - Callback to fire when the user clicks a button to dismiss the dialog.
    • confirm

      public static void confirm(String title, String message, BooleanCallback callback)
      Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons. See confirmIcon.

      The callback will receive boolean true for an OK button click, or null for a Cancel click or if the Dialog is dismissed via the close button.

      Parameters:
      title - the title of the dialog
      message - message to display
      callback - Callback to fire when the user clicks a button to dismiss the dialog.
    • confirm

      public static void confirm(String title, String message, BooleanCallback callback, Dialog dialogProperties)
      Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons. See confirmIcon.

      The callback will receive boolean true for an OK button click, or null for a Cancel click or if the Dialog is dismissed via the close button.

      Parameters:
      title - the title of the dialog
      message - message to display
      callback - Callback to fire when the user clicks a button to dismiss the dialog.
      dialogProperties - additional properties for the Dialog
    • warn

      public static void warn(String message)
      Show a modal dialog with a message, icon, and "OK" button. See warnIcon.
      Parameters:
      message - the message
    • warn

      public static void warn(String title, String message)
      Show a modal dialog with a message, icon, and "OK" button. See warnIcon.

      Parameters:
      title - the title of the dialog
      message - the message
    • warn

      public static void warn(String message, BooleanCallback callback)
      Show a modal dialog with a message, icon, and "OK" button. See warnIcon.

      The callback will receive boolean true for an OK button click, or null if the Dialog is dismissed via the close button.

      Parameters:
      message - the message
      callback - Optional Callback to fire when the user dismisses the dialog.
    • warn

      public static void warn(String title, String message, BooleanCallback callback, Dialog dialogProperties)
      Show a modal dialog with a message, icon, and "OK" button. See warnIcon.

      The callback will receive boolean true for an OK button click, or null if the Dialog is dismissed via the close button.

      Parameters:
      title - the title of the dialog
      message - the message
      callback - Optional Callback to fire when the user dismisses the dialog.
      dialogProperties - additional properties for the Dialog
    • logWarn

      public static void logWarn(String message)
      Log a warning.
      Parameters:
      message - the message to log
    • logWarn

      public static void logWarn(String message, String category)
      Log a warning.
      Parameters:
      message - the message to log
      category - category to log in, defaults to "Log"
    • logInfo

      public static void logInfo(String message)
      Log an informative message.
      Parameters:
      message - the message to log
    • logInfo

      public static void logInfo(String message, String category)
      Log an informative message.
      Parameters:
      message - the message to log
      category - category to log in, defaults to "Log"
    • logDebug

      public static void logDebug(String message)
      Log a debugging.
      Parameters:
      message - the message to log
    • logDebug

      public static void logDebug(String message, String category)
      Log a debugging
      Parameters:
      message - the message to log
      category - category to log in, defaults to "Log"
    • logEcho

      public static void logEcho(JavaScriptObject value)
      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
      value - object to echo
    • logEcho

      public static void logEcho(JavaScriptObject value, String message)
      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
      value - object to echo
      message - the message to log
    • logEcho

      public static void logEcho(Canvas canvas)
      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
      canvas - canvas to echo
    • logEcho

      public static void logEcho(Canvas canvas, String message)
      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
      canvas - canvas to echo
      message - the message to log
    • logEchoAll

      public static void logEchoAll(JavaScriptObject value)
      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
      value - object to echo
    • logEchoAll

      public static void logEchoAll(JavaScriptObject value, String message)
      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
      value - object to echo
      message - the message to log
    • logEchoAll

      public static void logEchoAll(Canvas canvas)
      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
      canvas - canvas to echo
    • logIsInfoEnabled

      public static boolean logIsInfoEnabled(String category)
      Check whether a message logged at "info" priority would be visible in the log. Use this method to avoid putting together expensive log messages if they will never appear in the log.
      Parameters:
      category - category to check; defaults to "Log"
    • echoLeaf

      public static String echoLeaf(Object value)
      Return a very short (generally less than 40 characters) string representation of any object, suitable for viewing by a developer for debugging purposes.
      Parameters:
      value - object to echo
      Returns:
      a short string representation of the object.
    • logIsDebugEnabled

      public static boolean logIsDebugEnabled(String category)
      Check whether a message logged at "debug" priority would be visible in the log. Use this method to avoid putting together expensive log messages if they will never appear in the log.
      Parameters:
      category - category to check; defaults to "Log"
    • notify

      public static MessageID notify(String contents)
      See Also:
    • notify

      public static MessageID notify(String contents, NotifyAction... actions)
      See Also:
    • notify

      public static MessageID notify(String contents, NotifyAction[] actions, String notifyType)
      Displays a new message that's automatically dismissed after a configurable amount of time, as an alternative to {@link #confirm,modal notification} dialogs that can lower end user productivity.

      This method is simply a shorthand way to call Notify.addMessage(). For further study, see the Notify class overview, and the class methods Notify.dismissMessage(). Notify.configureMessages().

      Parameters:
      contents - message to be displayed. See HTMLString
      actions - actions (if any) for this message
      notifyType - category of message; default "message". See NotifyType
      Returns:
      opaque identifier for message
    • getJSStackTrace

      public static String getJSStackTrace()
      Returns the current stack trace, from a JavaScript perspective. This should provide meaningful JS stack frames for Java code in Super Development Mode, and in Production Mode, if GWT compilation has been configured with options such as "‑optimize 0" and/or "‑style PRETTY" to disable obfuscation. Frames corresponding to the native SmartClient Framework will be obfuscated unless the GWT project is configured for debugging.

      In Classic DevMode, this API will provide very limited information - stack frames corresponding to Java code will likely be displayed as anonymous functions, and many or most such frames will be missing. For DevMode, it's preferable to use GWT-supported Java APIs to capture the stack, such as for example:

           Throwable t = new Throwable();
      
           String stack = "";
           for (StackTraceElement element : t.getStackTrace()) {
               stack += element + "\n";
           }
      
           SC.logDebug("Current location: " + stack);
       
      Grabbing Java StackTraceElements in Super Development Mode or Production Mode will work, but won't provide any added benefit as in DevMode.
      See Also:
    • setEnableJSDebugger

      public static void setEnableJSDebugger(boolean useDebugger)
      Setting this to true will result in the IE / Firebug / Safari debugger being invoked when a JavaScript error is encountered. This is done by the execution of the commend "debugger;" when the error occurs. Setting this to true is useful for debugging any javascript errors.
      Parameters:
      useDebugger - default is false
    • logEchoAll

      public static void logEchoAll(Canvas canvas, String message)
      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
      canvas - canvas to echo
      message - the message to log
    • echo

      public static String echo(JavaScriptObject object)
      Returns the passed in JavaScript object as a string
      Parameters:
      object -
      Returns:
    • echoAll

      public static String echoAll(JavaScriptObject object)
      Returns the passed in JavaScript object as a string (including serializing members one level deep for javascript arrays and nested objects)
      Parameters:
      object -
      Returns:
    • hasAnalytics

      public static boolean hasAnalytics()
      Returns true if the optional Analytics module has been loaded.
      Returns:
      true if Analytics module is loaded
    • hasAI

      public static boolean hasAI()
      Returns true if the optional AI module has been loaded.
      Returns:
      true if AI module is loaded
    • hasCharts

      public static boolean hasCharts()
      Returns true if the optional Charts module has been loaded.
      Returns:
      true if Charts module is loaded
    • hasTour

      public static boolean hasTour()
      Returns true if the optional Tour module has been loaded.
      Returns:
      true if Tour module is loaded
    • hasWorkflow

      public static boolean hasWorkflow()
      Returns true if the optional Workflow module has been loaded.
      Returns:
      true if Drawing module is loaded
    • hasDrawing

      public static boolean hasDrawing()
      Returns true if the optional Drawing module has been loaded.
      Returns:
      true if Drawing module is loaded
    • hasPluginBridges

      public static boolean hasPluginBridges()
      Returns true if the optional PluginBridges module has been loaded.
      Returns:
      true if PluginBridges module is loaded
    • hasRealtimeMessaging

      public static boolean hasRealtimeMessaging()
      Returns true if the optional RealtimeMessaging module has been loaded.
      Returns:
      true if RealtimeMessaging module is loaded
    • hasDashboardAndTools

      public static boolean hasDashboardAndTools()
      Returns true if the optional Dashboard & Tools module is available.
      Returns:
      true if Dashboard & Tools module is available.
    • setScreenReaderMode

      public static void setScreenReaderMode(boolean newState)
      Enables full screen reader mode. Must be called before any components are created. See Accessibility.
      Parameters:
      new - state for screen reader mode (true for enabled, false for disabled)
    • isMethodSupported

      public static boolean isMethodSupported(String className, String methodName)
      Returns true if the method is supported by the class, meaning that it is not null and was not replaced by markUnsupportedMethods(String, String, String[]).
      Parameters:
      className - className to check
      methodName - methodName to check
      Returns:
      boolean true if the method is not null and is not an unsupported method; false otherwise.
    • markUnsupportedMethods

      public static void markUnsupportedMethods(String className, String messageTemplate, String[] methodNames)
      Replaces each of the methods named in methodNames with a new implementation that simply logs a warning the first time the method is called, and nothing else. This can be used to mark methods of derived classes which do not support certain parent class methods as unsupported.

      The messageTemplate parameter is a template for the warning message logged when the unsupported method is first called. The following variables in the template are substituted as follows:

      Variable Substitution
      $class The +link{getClassName(),class name}.
      $method The name of the method.

      If you want the literal string of a substitution variable to appear in the warning message, you can escape it by prefixing with a dollar sign. For example, to include "$class" in the warning message, use "$$class" in the template.

      Parameters:
      className - className containing methods to mark
      messageTemplate - template for the warning message logged when first called. If null, the default template string "$class does not support the $method() method." is used.
      methodNames - the method names to mark as unsupported.
    • traceLogMessage

      public static void traceLogMessage(String messagePattern)
      Causes a stack trace to be logged any time a message containing the provided pattern is logged. This can help figure out the origin of warnings or other mysterious logs in a large complex application.

      The passed messagePattern is interpreted as a JavaScript regular expression.

      Parameters:
      messagePattern -
    • traceLogMessage

      public static void traceLogMessage(String messagePattern, String prefix)
      Causes a stack trace to be logged any time a message containing the provided pattern is logged. This can help figure out the origin of warnings or other mysterious logs in a large complex application.

      The passed messagePattern is interpreted as a JavaScript regular expression.

      Parameters:
      messagePattern -
      prefix - value to prefix the message
    • getScVersion

      public static String getScVersion()
      Internal method - do not call from Application code.
    • getScVersionNumber

      public static String getScVersionNumber()
      Internal method - do not call from Application code.
    • getSgwtVersion

      public static String getSgwtVersion()
      Internal method - do not call from Application code.
    • getSgwtVersionNumber

      public static String getSgwtVersionNumber()
      Internal method - do not call from Application code.
    • getScParityStableVersionNumber

      public static String getScParityStableVersionNumber()
      Internal method - do not call from Application code.
    • getSgwtParityStableVersionNumber

      public static String getSgwtParityStableVersionNumber()
      Internal method - do not call from Application code.
    • isStable

      public static boolean isStable()
      Internal method - do not call from Application code.