⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsuserinterface.pas

📁 Workflow Studio是一款专为商业进程管理(BPM)设计的Delphi VCL框架。通过Workflow Studio你可以轻易地将工作流与BPM功能添加到你的应用程序里。这样能使你或你的最
💻 PAS
字号:
unit wsUserInterface;

interface
uses Classes, Forms, wsClasses, wsMain; 

type
  TWorkflowUserInterface = class(TCustomWorkflowUserInterface)
  public
    procedure ShowUserTasksDlg(AUserKey: string; AFormMode: TWorkflowFormMode = wfmModal); override;
    procedure ShowUsersTasksDlg(AUserKeys: string; AFormMode: TWorkflowFormMode = wfmModal); override;
    procedure ShowWorkInsTasksDlg(AWorkInsKey: string; AFormMode: TWorkflowFormMode = wfmModal); override;
    procedure ShowWorkflowDefinitionsDlg; override;
    procedure EditWorkflowDefinition(AWorkDef: TWorkflowDefinition); override;
  end;

implementation
uses fTaskList, fWorkDefManager, wsDB, fWorkflowEditor;

{ TWorkflowUserInterface }

procedure TWorkflowUserInterface.EditWorkflowDefinition(
  AWorkDef: TWorkflowDefinition);
begin
  With TfmWorkflowEditor.Create(nil) do
  try
    EditWorkflowDiagram(AWorkDef);
  finally
    Free;
  end;
end;

procedure TWorkflowUserInterface.ShowWorkflowDefinitionsDlg;
var
  WorkDefForm: TfmWorkDefManager;
begin
  WorkDefForm := TfmWorkDefManager.Create(nil);
  try
    WorkDefForm.ShowModal;
  finally
    WorkDefForm.Free;
  end;
end;

procedure TWorkflowUserInterface.ShowUsersTasksDlg(AUserKeys: string;
  AFormMode: TWorkflowFormMode = wfmModal);
var
  TaskForm: TfmTaskList;
begin
  Case AFormMode of
    wfmMDI:
      begin
        TaskForm := TfmTaskList.Create(Application);
        TaskForm.FormStyle := fsMDIChild;
        TaskForm.WindowState := wsMaximized;
      end;
  else
    {wfmModal} TaskForm := TfmTaskList.Create(nil);
  end;
  
  try
    TaskForm.SetFilter(tfUserList, AUserKeys);
    TaskForm.LoadData;
    Case AFormMode of
      wfmModal: TaskForm.ShowModal;
      wfmMDI: TaskForm.Show;
    end;
  finally
    Case AFormMode of
      wfmModal: TaskForm.Free;
    else
      TaskForm.FreeOnClose := true;
    end;
  end;
end;

procedure TWorkflowUserInterface.ShowUserTasksDlg(AUserKey: string;
  AFormMode: TWorkflowFormMode = wfmModal);
var
  TaskForm: TfmTaskList;
begin
  Case AFormMode of
    wfmMDI:
      begin
        TaskForm := TfmTaskList.Create(Application);
        TaskForm.FormStyle := fsMDIChild;
        TaskForm.WindowState := wsMaximized;
      end;
  else
    {wfmModal} TaskForm := TfmTaskList.Create(nil);
  end;

  try
    TaskForm.SetFilter(tfUser, AUserKey);
    TaskForm.LoadData;
    Case AFormMode of
      wfmModal: TaskForm.ShowModal;
      wfmMDI: TaskForm.Show;
    end;
  finally
    Case AFormMode of
      wfmModal: TaskForm.Free;
    else
      TaskForm.FreeOnClose := true;
    end;
  end;
end;

procedure TWorkflowUserInterface.ShowWorkInsTasksDlg(AWorkInsKey: string;
  AFormMode: TWorkflowFormMode = wfmModal);
var
  TaskForm: TfmTaskList;
begin
  Case AFormMode of
    wfmMDI:
      begin
        TaskForm := TfmTaskList.Create(Application);
        TaskForm.FormStyle := fsMDIChild;
        TaskForm.WindowState := wsMaximized;
      end;
  else
    {wfmModal} TaskForm := TfmTaskList.Create(nil);
  end;

  try
    TaskForm.SetFilter(tfWorkIns, AWorkInsKey);
    TaskForm.LoadData;
    Case AFormMode of
      wfmModal: TaskForm.ShowModal;
      wfmMDI: TaskForm.Show;
    end;
  finally
    Case AFormMode of
      wfmModal: TaskForm.Free;
    else
      TaskForm.FreeOnClose := true;
    end;
  end;
end;

initialization
  UserInterfaceClass := TWorkflowUserInterface;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -