Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  s
Language: C/C++
Code:
// Nullware
// Engine
// Version : 1.0
// Data of creation : 17/05/2019
// GTK+ 3 e OpenGL
// Created by Pedro "Dast" Murilo

// gcc -o Nullware nullware.c `pkg-config --cflags --libs gtk+-3.0` && ./Nullware

#include <stdio.h>
#include <gtk/gtk.h>

int main (int argc, char **agrv) {
     gtk_init(&argc, &agrv);
     GtkWidget *windowEngine;
     windowEngine = gtk_window_new(GTK_WINDOW_TOPLEVEL);

     //Variáveis ->
     GtkWidget *menu;
     gint height = 600; // Resolução da Engine
     gint width = 800; // ...
     GtkWidget *menuBar;
     GtkWidget *fileMenuBarLabel;
     GtkWidget *openMenuBarLabel;
     GtkWidget *viewMenuBarLabel;
     GtkWidget *toolsMenuBarLabel;
     GtkWidget *helpMenuBarLabel;
     GtkWidget *aboutMenuBarLabel;
     GtkWidget *quitMenuBarLabel;


     GtkBox *vBox = gtk_vbox_new(FALSE, 0);
     gtk_container_add(GTK_CONTAINER(windowEngine), vBox);

     gtk_window_set_title(windowEngine, "Nullware"); //Define o título
     gtk_window_set_default_size(windowEngine, width, height); //Seta as resoluções
     gtk_window_set_position(GTK_WINDOW(windowEngine), GTK_WIN_POS_CENTER);



    menuBar = gtk_menu_bar_new();

     fileMenuBarLabel = gtk_menu_item_new_with_label("Arquivo");
     openMenuBarLabel = gtk_menu_item_new_with_label("Abrir");
    viewMenuBarLabel = gtk_menu_item_new_with_label("Ver");
     toolsMenuBarLabel = gtk_menu_item_new_with_label("Ferramentas");
     helpMenuBarLabel = gtk_menu_item_new_with_label("Ajuda");
     aboutMenuBarLabel = gtk_menu_item_new_with_label("Sobre");
     quitMenuBarLabel = gtk_menu_item_new_with_label("Sair");

     //gtk_menu_item_set_submenu(GTK_MENU_ITEM(fileMenuBarLabel), menuBar);
     gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), fileMenuBarLabel);
     gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), openMenuBarLabel);
     gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), viewMenuBarLabel);
     gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), toolsMenuBarLabel);
    gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), helpMenuBarLabel);
    gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), aboutMenuBarLabel);
     gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), quitMenuBarLabel);

    gtk_box_pack_start(GTK_BOX(vBox), menuBar, FALSE, FALSE, 0);



    //Janelas dos OpenGL
    GtkBox *windowDisplayGL = gtk_vbox_new(FALSE, 0);
    gtk_container_add(GTK_CONTAINER(windowEngine), windowDisplayGL);




     //Sinais ->
     g_signal_connect(G_OBJECT(windowEngine), "destroy", G_CALLBACK(gtk_main_quit), NULL); //Fecha a janela clicando no botão de fechar (não é na barra de menu)
     g_signal_connect(G_OBJECT(quitMenuBarLabel), "activate", G_CALLBACK(gtk_main_quit), NULL); //Fecha a janela pelo "Quit" na barra de menu

     gtk_widget_show_all(windowEngine);
     gtk_main();
     return 0;
}
          
Comments: