Evilnapsis

Programming, Hacking and More

Desktop DevelopmentProgramming

Introduccion a Monodevelop y Gtk# en Linux

Monodevelop es un entorno de desarrollo libre y gratuito, principalmente para el lenguage C#, esta disponible para Windows, Linux y Mac. En este Articulo les mostrare como instalar monodevelop, explicar algunas funciones y crear una aplicacion de hola mundo con la interfaz grafica Gtk# en Linux.

Instalacion

En mi caso explicare la instalacion para Linux Mint 18, que tambien es muy similar para Ubuntu, para instalarlo usamos apt-get:

sudo apt-get install monodevelop

sudo apt-get install mono-mcs

Monodevelop es el entorno de desarrollo y Mono-mcs es el compilador del proyecto mono que nos ayuda a (valga la redundancia) compilar nuestra aplicacion para Linux o Gnu/Linux.

Una vez instalado el Monodevelop, buscamos la opcion el el menu o tecleamos: alt+f2+monodevelop+[enter] y se abrira el entorno de programacion y veremos algo asi:

Screenshot at 2016-08-27 23-39-38

Ahora hablemos sobre GTK#, cuando hablamos de Linux principalmente el entorno grafico se llama GTK y diremos que GTK# es un conjunto de librerias para crear ventanas con C# sobre GTK.

Ahora vamos al Monodevelop en la opcion File > New > Solution … y se abrira una ventana similar a esta:

Screenshot at 2016-08-27 23-47-40

En esta ventana seleccionaremos el tipo de Proyecto, el cual puede ser, Proyecto de consola, Proyecto Vacio, Proyecto GTK# 2.0 y Libreria, nuestra opcion es Proyecto GTK# 2.0, seleccionamos y damos click en el boton “Siguiente”.

Ahora vamos a nombrar el proyecto y seleccionamos tambien una carpeta donde queremos que se guarde el proyecto.

Screenshot at 2016-08-27 23-52-14

Una vez terminado el asistente de creacion de proyecto veremos algo similar a la siguiente ventana.

Screenshot at 2016-08-27 23-53-44

Ahora vemos que esta abierto el archivo Program.cs, nos dirigimos al panel de la izquierda y seleccionamos el archivo MainWindow.cs, damos doble click y abrimos el archivo, este archivo es el que contiene la interfaz grafica del proyecto, si nos fijamos en la parte de abajo de la ventana hay unos “Tabs o pesta~as” que dicen: Source y Desinger.

Source se refiere a la vista del codigo y Designer se refiere al modo de dise~o donde es posible manipular la interfaz grafica de manera amigable y visual, muy similar al Visual Studio o Netbeans.

Screenshot at 2016-08-27 23-58-28

Si seleccionamos un elemento cualquiera del Toolbox de la derecha y lo posicionamos en la ventana veremos que una advertencia sobre los contenedores y al colocar el elemento este ocupara toda la ventana, para evitar esto simplemente colocamos un contenedor.

Contenedores

En GTK los contenedores sirven para ordenar o agrupar los elementos, existen varios tipos de contenedores entre los principales:

  • Hbox: Caja horizontal, sirve para agrupar elementos horizontalmente.
  • VBox: Caja vertical, sirve para agrupar elementos verticalmente.
  • Table: tabla, sirve para agrupar elementos en un formato de tabla o sea de NxM o algo parecido usando filas y columnas.
  • Fixed: fijo, sirve para agrupar elementos en cualquier punto del contenedor.

Los contenedores se pueden anidar entre si, es decir podemos meter un VBox dentro de un HBox y dentro del HBox un Table, por decirlo asi…

Continuando …

Para este ejemplo se me hace mas comodo agregar un contenedor tipo Fixed y despues agregar el Boton.

Despues de agregar el boton podemos ir viendo el Menu o barra de propiedades del elemento que seleccionemos y modificar el texto o label del boton.

Screenshot at 2016-08-28 00-11-25

El cuadro de propiedades cuenta con 2 pesta~as, Propiedades y Signals, las signals son los eventos, vamos a la pesta~a signals, en el Nodo “Button Signals” seleccionamos la opcion “Clicked” y despues precionamos [ENTER] o tambien podemos dar doble click sobre el evento.

Como podemos imaginar, “Clicked” es el evento que se invica cuando el usuario hace click con el mouse.

Al momento que creamos el evento, se crea tambien una funcion o metodo en el codigo del archivo MainWindow.cs en mi caso el evento se llama “OnButton2Clicked”, dentro de esa funcion vamos a escribir el siguiente codigo:

[code language=”csharp”] MessageDialog md = new MessageDialog (null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok,"Hola Mundo!");
md.Run ();
md.Destroy ();
[/code]

Explicando un poco este es el codigo para hacer una ventana de alerta, muy simular al MessageBox.Show() de C# en Windows.

Screenshot at 2016-08-28 00-21-51

Ahora es momento de ejecutar, damos click en el boton grande de “Ejecutar  o Play” que se encuentra debajo del menu File y veremos el resultado:

Screenshot at 2016-08-28 00-22-38

Bueno, hasta aqui esta breve introduccion sobre sobre Monodevelop y GTK#.

Conclusion

Monodevelop es una gran opcion para desarrollar aplicaciones, ademas de ser libre, gratis y multiplataforma tambien es muy ligero e ideal para computadoras o laptops de pocos recursos.

Agustin Ramos

Desarrollador de Software

Leave a Reply