{
===============================================================================
  Copyright (©) 2006. Rodax Software.
===============================================================================
  Los contenidos de este fichero son propiedad de Rodax Software titular del
  copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
  en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
  acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
  bajo el que se suministra.
  -----------------------------------------------------------------------------
  Web:  www.rodax-software.com
===============================================================================
  Fecha primera versión: 22-05-2006
  Versión actual: 1.0.0
  Fecha versión actual: 22-05-2006
===============================================================================
  Modificaciones:

    Fecha         Comentarios
    ---------------------------------------------------------------------------
===============================================================================
}

unit uPluginControllerContactos;

interface

uses
  uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList,
  ImgList, Controls, PngImageList;

type
  IMCContactos = interface(IInterface)
    ['{E148CA5A-63A0-4BE8-B634-6E7A92A90F25}']
  end;

  TModuleContactos = class(TModuleController, IMCContactos)
    actContactos: TAction;
    Contactos: TMenuItem;
    LargeImages: TPngImageList;
    MainMenu: TMainMenu;
    ModuleActionList: TActionList;
    Contactos1: TMenuItem;
    SmallImages: TPngImageList;
    actCategorias: TAction;
    Categorias1: TMenuItem;
    sep1: TMenuItem;
    procedure actContactosExecute(Sender: TObject);
    procedure actCategoriasExecute(Sender: TObject);
  end;

implementation

{$R *.dfm}
uses
  Forms, Dialogs, uGUIBase, uCustomEditor, uBizContacto,
  SysUtils, uEditorContactos, uEditorCategorias, uDataModuleContactos;

function GetModule : TModuleController;
begin
  Result := TModuleContactos.Create(NIL);
end;

exports
  GetModule name GET_MODULE_FUNC;

{
******************************* TModuleContactos *******************************
}

procedure TModuleContactos.actContactosExecute(Sender: TObject);
var
  aObj: IEditorContactos;
  aContactos: IBizContacto;
begin
  aContactos := dmContactos.GetContactos;
  aObj := TfEditorContactos.Create(Application);
  try
    with aObj do
    begin
      Contactos := aContactos;
      ShowEmbedded;
    end;
  finally
    aContactos := NIL;
    aObj := NIL;
  end;
end;

procedure TModuleContactos.actCategoriasExecute(Sender: TObject);
var
  AEditor: TfEditorCategorias;
begin
  AEditor := TfEditorCategorias.Create(Application);
  try
    AEditor.ShowModal;
  finally
    AEditor.Release;
  end;
end;

initialization
  RegisterModuleClass(TModuleContactos);

finalization
  UnRegisterModuleClass(TModuleContactos);

end.
