Editing Mer/Documentation/Vala control panel

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
{{Mer}}
+
Mer needs new control panels. But not everyone knows C, but they may be proficient in C#. Vala is a language with C#-like syntax, that compiles to C, which makes it perfect for writing CPAs which are (to my knowledge) C only.
 +
But, documentation on Vala is rather lacking.
-
Mer needs new control panels. But not everyone knows C, but they may be proficient in C#. Vala is a language with C#-like syntax, that compiles to C, which makes it perfect for writing CPAs which are (to my knowledge) C only. But, documentation on Vala is rather lacking.
+
An example can be found here: http://slexy.org/view/s2LF62vIvs
-
An example can be found here:
+
(maemo.org wiki sucks and does not understand "<source lang="c-sharp">")
-
<source lang="csharp">
+
-
/*
+
-
*      cpa.vala
+
-
*     
+
-
*      Copyright 2009 Faheem Pervez <qwerty12>
+
-
*     
+
-
*      This library is free software; you can redistribute it and/or
+
-
*      modify it under the terms of the GNU Lesser General Public
+
-
*      License as published by the Free Software Foundation; either
+
-
*      version 2.1 of the License, or (at your option) any later version.
+
-
*     
+
-
*      This library is distributed in the hope that it will be useful,
+
-
*      but WITHOUT ANY WARRANTY; without even the implied warranty of
+
-
*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+
-
*      Lesser General Public License for more details.
+
-
*     
+
-
*      You should have received a copy of the GNU Lesser General Public
+
-
*      License along with this library; if not, write to the Free Software
+
-
*      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+
-
*      MA 02110-1301, USA.
+
-
*/
+
-
 
+
-
using Osso;
+
-
using Hildon;
+
-
using Gtk;
+
-
 
+
-
public Hildon.Program program;
+
-
public Gtk.Widget dialog;
+
-
 
+
-
Status execute(Context *osso, void* data, bool user_activated)
+
-
{
+
-
        osso = new Osso.Context("vala-test-applet", "0.1", false, null);
+
-
        program = Hildon.Program.get_instance();
+
-
        data = new Hildon.Window();
+
-
        program.add_window((Hildon.Window)data);
+
-
 
+
-
        dialog = new Hildon.Note.information ((Hildon.Window)data, "Hey, I'ma CPA written in Vala.\n"+"The \"programmer\" who wrote me sucks; but he hopes \nthat this can be used for something.");
+
-
        ((Gtk.Window)dialog).set_modal(true);
+
-
        ((Gtk.Window)dialog).set_position(WindowPosition.CENTER_ALWAYS);
+
-
        ((Gtk.Dialog)dialog).run();
+
-
        dialog.destroy();
+
-
delete osso;
+
-
 
+
-
        return Status.OK;
+
-
}
+
-
 
+
-
//valac -C --pkg libosso --pkg hildon-1 cpa.vala ; gcc `pkg-config --cflags libosso hildon-1` -fPIC -c cpa.c ; gcc -module -avoid-version -shared -Wl,-soname,cpa.so  -o cpa.so cpa.o  -lc
+
-
</source>
+
Save the above as "cpa.vala". Because valac seems to be more accustomed for making programs, you have to use valac's -C option which'll output the generated C code and gcc can then be used to make it into a library.
Save the above as "cpa.vala". Because valac seems to be more accustomed for making programs, you have to use valac's -C option which'll output the generated C code and gcc can then be used to make it into a library.
Improvements ''very'' much welcomed.
Improvements ''very'' much welcomed.
-
 
-
[[Category:Development]]
 

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)

Templates used on this page: