05 Settings


01 Verändern String
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
using Eplan.EplApi.Base;

public class _05_Settings_01_Veraendern_String
{
  [Start]
  public void Function()
  {
    Settings settings = new Settings();

    settings.SetStringSetting(
        "USER.TrDMProject.UserData.Identification",
        "TEST", 0);

    MessageBox.Show("Einstellung wurde gesetzt.");
  }
}


02 Verändern Bool
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
using Eplan.EplApi.Base;

public class _05_Settings_02_Veraendern_Bool
{
  [Start]
  public void Function()
  {
    Settings settings = new Settings();

    settings.SetBoolSetting(
        "USER.EnfMVC.ContextMenuSetting.ShowExtended",
        true, 0);

    MessageBox.Show(
        "Einstellung wurde aktiviert. EPLAN-Neustart erforderlich."
        );
  }
}


03 Verändern Integer
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
using Eplan.EplApi.Base;

public class _05_Settings_03_Veraendern_Integer
{
  [Start]
  public void Function()
  {
    Settings settings = new Settings();

    settings.SetNumericSetting(
        "USER.SYSTEM.GUI.LAST_PROJECTS_COUNT",
        11, 0);

    MessageBox.Show("Einstellung wurde gesetzt.");
  }
}


04 Lesen String
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
using Eplan.EplApi.Base;

public class _05_Settings_04_Lesen_String
{
  [Start]
  public void Function()
  {
    Settings settings = new Settings();

    string name = settings.GetStringSetting(
      "USER.TrDMProject.UserData.Longname", 0);

    MessageBox.Show("Hallo " + name + "!");
  }
}


05 Lesen Bool
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
using Eplan.EplApi.Base;

public class _05_Settings_05_Lesen_Bool
{
  [Start]
  public void Function()
  {
    Settings settings = new Settings();

    bool useLoginName = settings.GetBoolSetting(
    "USER.XUserSettingsGui.UseLoginName", 0);

    if (useLoginName)
    {
      MessageBox.Show("Einstellung ist aktiviert.");
    }
    else
    {
      MessageBox.Show("Einstellung ist deaktiviert.");
    }
  }
}


06 Lesen Integer
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
using Eplan.EplApi.Base;

public class _05_Settings_06_Lesen_Integer
{
  [Start]
  public void Function()
  {
    Settings settings = new Settings();

    int minColWidth = settings.GetNumericSetting(
    "USER.MF.PREVIEW.MINCOLWIDTH", 0);

    MessageBox.Show("Mindestbreite der Kacheln in der Vorschau: "
        + minColWidth.ToString());
  }
}


07 Import
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
using Eplan.EplApi.Base;

public class _05_Settings_07_Import
{
  [Start]
  public void Function()
  {
    Settings settings = new Settings();

    settings.ReadSettings(@"C:\test\test.xml");

    MessageBox.Show("Einstellungen wurden importiert.");
  }
}


08 Import Projekteinstellung
using System;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

public class _05_Settings_08_Import_Projekteinstellung
{
  [DeclareAction("Verbindungsabzweigungen")]
  public void Function(int setting)
  {
    try
    {
      string scripts = PathMap.SubstitutePath("$(MD_SCRIPTS)" + @"\");
      string project = PathMap.SubstitutePath("$(P)");
      string message = string.Empty;

      CommandLineInterpreter cli = new CommandLineInterpreter();
      ActionCallingContext acc = new ActionCallingContext();
      acc.AddParameter("Project", project);

      switch (setting)
      {
        case 1:
          message = "[Mit Zielfestlegung]";
          acc.AddParameter("XmlFile", scripts + @"1.xml");
          break;

        case 2:
          message = "[Als Punkt]";
          acc.AddParameter("XmlFile", scripts + @"2.xml");
          break;

        case 3:
          message = "[Wie gezeichnet]";
          acc.AddParameter("XmlFile", scripts + @"3.xml");
          break;

        default:
          MessageBox.Show("Parameter nicht bekannt",
              "Fehler", MessageBoxButtons.OK,
              MessageBoxIcon.Error);
          return;
      }

      cli.Execute("XSettingsImport", acc);

      MessageBox.Show("Einstellungen wurden importiert." +
                      Environment.NewLine +
                      message,
                      "Information",
                      MessageBoxButtons.OK,
                      MessageBoxIcon.Information);
    }
    catch (Exception ex)
    {
      MessageBox.Show(ex.Message, "Fehler",
          MessageBoxButtons.OK,
          MessageBoxIcon.Error);
    }
  }
}