Este é um exemplo de como usar um arquivo de texto rc para definir algumas coisas básicas, como cor de fundo da janela, cor de fundo dos botões, cor da letra etc.
A desvantagem é que esses arquivos tem uma estrutura e sintaxe fixa do gtk, não podendo ser traduzido para o português como o igbr.
Vamos começar: é necessário que o arquivo config.rc (ou qualquer nome que quiser) esteja na mesma pasta do programa teste_rc.prisma, ok.
primeiro salve o arquivo como config.rc :
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 |
# Registro de Configuração defina um estilo e um apelido # Depois ligue o apelido do estilo a um tipo de widget # O nome deve ser o original do gtk # bg = cor de fundo # fg = cor de letra # temos GtkButton, GtkWindow, GtkLabel, GtkTextView etc... # 1.0 = 100 por cento, 0.1 = 10 por cento e assim por diante (0.2 0.3 0.5=meio #a cor pode ser em formato hexa iniciando por # entre aspas style "janela" { font_name = "fixed 12" bg[NORMAL] = "#708090" } style "rotulo"{ fg[NORMAL] = { 0.0, 0.0, 1.0 } } style "botao"{ bg[NORMAL] = { 1.0, 0.4, 0.3 } bg[PRELIGHT] = { 0.1, 0.5, 1.0 } } #NORMAL = cor padrão # PRELIGHT = cor quando o mouse está em cima do componente. #registrando os widgets: widget_class "GtkWindow" style "janela" widget_class "*GtkLabel*" style "rotulo" widget_class "*GtkButton*" style "botao" |
Agora o código do programa fazendo uso do arquivo rc:
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 |
//exemplo de uso de configuração externa do gtk // rc (registro de configuração) inclua'igbr' //é muito simples basta usar este comando // passando o endereço do arquivo rc como argumento ig.rc_arquivo('config.rc') //lê o arquivo de configuração e define jan = ig.janela'teste rc_arquivo'; ig.janela_destrua(jan); ig.componente_def_tamanho( jan , 250 , 200 ); fixo = ig.fixo(); //conteiner fixo para colocar os componentes ig.ad( jan , fixo ); rotulo = ig.rotulo'TESTE rc ARQUIVO'; ig.fixo_ad( fixo , rotulo , 10 , 20 ); txt = ig.texto(); ig.fixo_ad(fixo , txt , 50 , 90 ); //definindo um texto para a entrada de texto ig.texto_def_texto( txt , 'Digite algo aqui'); botao_ok = ig.botao'OK'; //foco no botao: ig.componente_def_foco( botao_ok); ig.fixo_ad( fixo , botao_ok , 10 , 90 ); //funcao que será ligado ao clique do botao: funcao Call_back_ok (comp , dados) local txt = ig.texto_obt_texto(dados); se tipo(txt) <> 'string' entao txt = 'Teste de texto'; fim ig.msg( jan , 'TESTE' , txt ); fim //conectando a funcao: ig.conecte_funcao( botao_ok , ig.clique , Call_back_ok , txt ); //mostrando os componentes ig.componente_mostre_todos( jan ); //ultimo comando, inicia o laço de eventos do gtk ig.fimprograma(); |
O código é simples e está comentado, mas qualquer dúvida não deixe de perguntar aqui ou no fórum, ok.