Au sujet de la nouvelle version, il y aura une nouveauté vraiment sympathique pour ceux qui connaissent .NET.
J'ai pu complètement découpler l'interface utilisateur de la logique de fonctionnement de GW. Toute cette logique a été placée dans une dll (GWKernel.dll) avec une API super simplifiée. J'ai ensuite crée une dll (GWKernelWrapper.dll) qui est une assembly .NET, et qui permet d'appeler GW depuis .NET. Ça fonctionne étonnement bien.
Exemple, à partir d'un projet de base C# (juste une winform), j'ai tapé ce code dans son initialisation :
Code :
kernel = new GWKernelWrapper.GWKernel();
kernel.InitD3DGraph(Handle, GWKernel.Hardware, 0, 900, 900);
kernel.LoadPlugin(0, "D:\Projects\GraphWeather\Debug_French\Plugins\WS2300.dll");
ContextID = kernel.AllocateContext(GWKernel.WK_GRAPHIC_CONTEXT);
kernel.Control(ContextID, GWKernel.WK_SOURCE, "C:\montreal.dat");
kernel.Control(ContextID, GWKernel.WK_STYLESHEET, "D:\Projects\GraphWeather\Debug_French\Stylesheets\tab-full-graph.xml");
kernel.Control(ContextID, GWKernel.WK_GO_TO_LAST48H, 0);
kernel.ProcessContext(ContextID, 0, 0);
PresentationParameters Params = new PresentationParameters();
Params.Handle = Handle;
Params.X = 10;
Params.Y = 50;
Params.Top = 0;
Params.Bottom = 900;
Params.Right = 900;
Params.Left = 0;
kernel.Result(ContextID, GWKernel.WK_PRESENT_GRAPHIC, Params);
kernel.FreeContext(ContextID);
Résultat, un beau graphique directement dans la fenêtre windows. J'ai ajouté deux boutons pour naviguer dans le graphique avec 2 lignes de code par bouton, ça marche super.
Bref couplé avec .NET on peut quasiment tout faire, je pense notamment à des formulaire web ASP.NET qui génèreraient à la volé des graphiques, rapports, ou autres.
La dll supporte la génération de graphique, le parsing de texte, la gestion de la partie stats, et puis tout ce qui est plus basique comme demander le dernier enregistrement, etc.
Il me reste un mois pour terminer les stats et mettre tout ça en bêta