MLightCAD
    Preparing search index...

    Singleton settings manager for the CAD application.

    This class manages application-wide settings with:

    • Persistent storage using localStorage
    • Event notification when settings change
    • Type-safe setting access
    • Default value fallbacks

    The settings are automatically saved to localStorage and restored on application start.

    // Get the singleton instance
    const settings = AcApSettingManager.instance;

    // Set a setting value
    settings.set('isShowToolbar', false);

    // Get a setting value
    const showToolbar = settings.get('isShowToolbar');

    // Toggle a boolean setting
    settings.toggle('isDebug');

    // Listen for setting changes
    settings.events.modified.addEventListener(args => {
    console.log(`Setting ${args.key} changed to:`, args.value);
    });

    Type Parameters

    Index

    Constructors

    Properties

    events: { modified: AcCmEventManager<AcApSettingManagerEventArgs<T>> } = ...

    Events fired when settings are modified

    Type Declaration

    Accessors

    Methods

    • Gets a setting value.

      Returns the stored value or the default value if not set.

      Type Parameters

      • K extends string | number | symbol

        The setting key type

      Parameters

      • key: K

        The setting key to retrieve

      Returns NonNullable<AcApSettings & T>[K]

      The setting value

      const isDebug = settings.get('isDebug');
      const fontMapping = settings.get('fontMapping');
    • Sets a setting value and persists it to localStorage.

      Fires a modified event after the setting is saved.

      Type Parameters

      • K extends string | number | symbol

        The setting key type

      Parameters

      • key: K

        The setting key to modify

      • value: T[K]

        The new value for the setting

      Returns void

      settings.set('isShowToolbar', false);
      settings.set('fontMapping', { 'Arial': 'Helvetica' });
    • Toggles a boolean setting value.

      Only works with boolean settings. The caller should ensure the setting is boolean.

      Type Parameters

      • K extends string | number | symbol

        The setting key type

      Parameters

      • key: K

        The boolean setting key to toggle

      Returns void

      settings.toggle('isDebug');        // false -> true
      settings.toggle('isShowToolbar'); // true -> false