X

Como Criar um Extra para a QrCode Docker, CorelDraw Addon Parte 3

Salvando e carregando dados em nosso Extra

Publicado: Modificado:

Bonus630

Salvando e carregando dados em nosso Extra

Começando o Extra

Adicionando idiomas ao Extra

 

Agora vamos persistir os dados do usuário, digitados nos nossos campos de textos, esses dados serão salvos no momento em que o usuário clicar no botão de salvar estados na UI principal da QrCode Docker.

Abra o visual studio e nosso projeto teste, abra o "Solution Explorer" expanda o item "Properties" e abra o arquivo "Settings.settings" com um duplo clique, se seu projeto não conter esse arquivo basta cria-lo, clique com o botão direito do mouse em "Properties", Adicionar novo item, escolha "Settings".

Com nosso arquivo "Settings" aberto vamos adicionar dois campos, note que vamos salvar os dados do campo de texto do valor inicial e os dados do campo de texto do valor final de nosso Extra, vamos criar os campos com o mesmo tipo definidos na nossa classe Core, eu vou criar um com o nome Start e outro com nome End, note que a suporte para muitos tipos de tipos de valores e também a suporte para objetos complexos e até mesmo criados por nós.

Agora vamos editar nossa classe Core, vamos sobreescrever os métodos "SaveConfig" e "LoadConfig", vamos manter as chamadas da classa pai, elas disparam os seus respectivos eventos. Vamos atribuir o vamos da propriedade da nossa Core para os "Settings" no "Save" e no "Load" faremos o contrário.

Vamos adicionar também uma chamada a função "Reset" do "Setting" na função "DeleteConfig" em nossa classe Core, que antes deixamos vazia. Nossa classe Core neste momento.

 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using br.corp.bonus630.PluginLoader;
using Corel.Interop.VGCore;

namespace TestExtra
{
    public class TestExtraCore : PluginCoreBase, IPluginDrawer
    {
        public const string PluginDisplayName = "Test Extra";
        public override string GetPluginDisplayName { get { return PluginDisplayName; } }

        public List<object[]> DataSource { get; set; }
        public double Size { get; set; }
        public Application App { get; set; }
        public ICodeGenerator CodeGenerator { get; set; }
        private int start;

        public int Start
        {
            get { return start; }
            set { start = value; OnNotifyPropertyChanged("Start"); }
        }
        private int end;

        public int End
        {
            get { return end; }
            set { end = value; OnNotifyPropertyChanged("End"); }
        }
        public override void SaveConfig()
        {
            Properties.Settings.Default.Start = Start;
            Properties.Settings.Default.End = End;
            Properties.Settings.Default.Save();
            base.SaveConfig();
        }
        public override void LoadConfig()
        {
            Start = Properties.Settings.Default.Start;
            End = Properties.Settings.Default.End;
            base.LoadConfig();
        }
        public override void DeleteConfig()
        {
            Properties.Settings.Default.Reset();
        }

        public void Draw()
        {
            for (int i = Start; i <= End; i++)
            {
                Shape code = CodeGenerator.CreateVetorLocal2(App.ActiveLayer, i.ToString(), Size);
                code.SetPosition(code.PositionX + (Size * i), code.PositionY);
            }
        }
    }
}

Pronto seu Extra já está salvando e carregando os dados, para testar o carregamento é preciso copiar sua DLL para a pasta extras na pasta do QrCodeDocker.

No próximo artigo faremos a "progress bar" da UI da QrCode mostrar a progressão do processo de nosso Extra e faremos a conclusão e algumas considereções finais




Faça doações com o botão do PayPal


Todos direitos reservados | 2003 à 2025 | Copyright © Bonus630 | Vr.:5.0