Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-09-2003, 08:31   #1
x110
Senior Member
 
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
GTK finestre senza bordo

ho cercato, ma mi ritrovo qua....
come si pu' fare a creare finestre senza bordo tramite le gtk?
da quello che posso capire questo settaggio non fa parte dei widget
gtk ma come per win e' una funzione del windows manager.....

non vorrei avere: barra del titolo, toolbox chiudi minimizza ingrandisci,
e possibilmente neanche il bordo. stile flat.
grazie.

Ultima modifica di x110 : 04-09-2003 alle 16:55.
x110 è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2003, 18:35   #2
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Re: GTK finestre senza bordo

Quote:
Originariamente inviato da x110
ho cercato, ma mi ritrovo qua....
come si pu' fare a creare finestre senza bordo tramite le gtk?
da quello che posso capire questo settaggio non fa parte dei widget
gtk ma come per win e' una funzione del windows manager.....

non vorrei avere: barra del titolo, toolbox chiudi minimizza ingrandisci,
e possibilmente neanche il bordo. stile flat.
grazie.
L'unica cosa che puoi togliere è il bottone di minimizzazione e ingrandimento, mediante accurata definizione dei parametri nella gtk_window_set_policy().

Il resto non puoi farlo perchè fa parte del Window Manager. E poi sarebbe una cosa stupida farlo, completamente inutile. A che pro?
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2003, 18:53   #3
x110
Senior Member
 
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
perche' deve essere stupida? a me servirebbe
mi dai qualche info in piu circa le policy?
x110 è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2003, 01:44   #4
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
E' stupida perchè non è standard. Le applicazioni grafiche non devono funzionare così. Hanno i loro standard.
E poi come la chiuderesti l'applicazione senza casella di chiusura sulla title bar??

Ti faccio l'esempio della gtk_window_set_policy():

Codice:
#include <gtk/gtk.h>

/* Dovrebbero autoesplicare i parametri di gtk_window_set_policy() */
#define ALLOW_GROW TRUE
#define NOT_ALLOW_GROW !ALLOW_GROW
#define ALLOW_SHRINK TRUE
#define NOT_ALLOW_SHRINK !ALLOW_SHRINK
#define AUTO_SHRINK  TRUE
#define NO_AUTO_SHRINK !AUTO_SHRINK

gint
delete_event_callback(GtkWidget * widget,
                      gpointer user_data)
{
        return FALSE;
}

int
main(int argc, char ** argv)
{
        GtkWidget * top_window;

        gtk_init(&argc, &argv);

        top_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_default_size(GTK_WINDOW(top_window), 320, 200);
        gtk_window_set_policy(GTK_WINDOW(top_window),
                              NOT_ALLOW_SHRINK,
                              NOT_ALLOW_GROW,
                              NO_AUTO_SHRINK);

        gtk_signal_connect(GTK_OBJECT(top_window), "delete_event",
                           GTK_SIGNAL_FUNC(delete_event_callback), NULL);
        gtk_signal_connect(GTK_OBJECT(top_window), "destroy",
                           gtk_main_quit, NULL);

        gtk_widget_show(top_window);
        gtk_main();

        return 0;
}
Te l'ho scritto molto al volo quindi se non compila cerca di aggiustarlo.

Ciao.
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2003, 11:00   #5
Icedguardian
Member
 
Iscritto dal: May 2003
Messaggi: 283
Non credo sia una cosa stupida anzi molti programmi la usano per fare "Splash screen" o come cavolo si chiamano.

Ciao
__________________
/***
* Nulla è impossibile per chi non deve farlo
***/
Icedguardian è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2003, 11:18   #6
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da Icedguardian
Non credo sia una cosa stupida anzi molti programmi la usano per fare "Splash screen" o come cavolo si chiamano.

Ciao
Bhè...Allora dillo prima che ti servono gli spash screen ... Quelle non sono affatto finestre. Sono widgets con una gtkImage incorporata, mostrata su schermo senza l'intervento del WM. Si dovrebbe fare un pesante uso di GDK per realizzare una fighettata del genere. (A meno, ovviamente, di usare le API di gnome che dovrebbe avere una funzione apposita).
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2003, 11:22   #7
Icedguardian
Member
 
Iscritto dal: May 2003
Messaggi: 283
Hmmm, in realtà a me non servono, ho solo cercato di immaginare a cosa potesse servire una cosa del genere
Io tra un mesetto diventerò molto presente da queste parti quando inizierò a fare la tesi
__________________
/***
* Nulla è impossibile per chi non deve farlo
***/
Icedguardian è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2003, 10:12   #8
x110
Senior Member
 
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
non ho capito bene...
per fare uno splash bisogna usare le GDK? o c'e' una via piu' veloce?

comunque uscire dallo standard non e' stupido....
(non mollo). lo standard nei pc e' windows il che vuol dire che siamo tutti stupidi

a parte gli scherzi. a me piacerebbe ci fosse questa possibilita' che spesso usavo in vb.
anche semplicemente per dare uno stile diverso dagli altri programmi che pur che siano
fatti bene, a me non piacciono e voglio crearmi un mio stile. per esempio xmm ha un suo stile
che non e' quello standard e non usa lo stile del coontesto e del wm.

comunque sia...

grazie per la policy.
mi toglie solo il pulsante di ingrandimento e non quello di minimizzazione e chiusura.
per quello di chiusura non c'e' problema ma mi sebra mi dicesti che anche quello di
minimizzazione si potesse togliere.
x110 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2003, 16:27   #9
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Bhe ... Tutto dipende da cosa si vuole fare ... XMMS per esempio è una combinazione fra un tema fatto apposta e la programmazione di widget ad hoc.

Comunque GDK è importantissimo per fare cose un pochino + spinte. Sopratutto per modificare il comportamento dei widgets.
Ricordatevi che con GTK+ potete far una programmazione OO e potete ereditare le caratteristiche di un widget per costruirne un altro o modificarne le funzionalità.

In ogni caso vi consiglio di cercare sul reference manual delle API. Se non c'è li, non esiste.

Comunque per creare uno splash screen in genere si fa così:

Si crea una nuova finestra che non sia una main window:

Codice:
GtkWidget * splash_screen = gtk_window_new(GTK_WINDOW_POPUP);
Lo splash screen ha una dimensione fissa ed inoltre va posizionato al centro dello schermo:

Codice:
gtk_widget_set_usize(splash_screen, 428, 314);
gtk_window_set_position(GTK_WINDOW(splash_screen), GTK_WIN_POS_CENTER);
Uno splash screen ha anche un'immagine in esso (altrimenti che splash sarebbe ):

Codice:
GtkWidget * pixmap = create_pixmap_from_data(splash_screen, splash_xpm);
gtk_container_add(GTK_CONTAINER(splash_screen, pixmap);
gtk_widget_show(pixmap);
gtk_widget_show(splash_screen);
A questo punto lo splash è costruito. Poichè dovrebbe essere visualizzato ad un certo istante di esecuzione, per forzare la sua visualizzazione usiamo la funzione:

Codice:
gdk_flush(); /* Pensatela come una fflush(stdout); ;) */
Lo splash ad un certo punto deve andare via. Impostiamo un timer di timeout che gli dica di scomparire dopo tre secondi:

Codice:
gtk_timeout_add(3000, splash_screen_cb, splash_screen);
dove splash_screen_cb è un puntatore alla funzione di callback che deve essere eseguita passati i tre secondi. La possiamo implementare per esempio così:

Codice:
gint
splash_screen_cb(GtkWidget * widget, gpointer user_data)
{
        return (gtk_widget_hide(widget) &&
                gtk_widget_destroy(widget));
}
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2003, 17:26   #10
x110
Senior Member
 
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
spiegazione chiara e lineare...
compliments.
x110 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2003, 17:44   #11
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
A proposito gente... C'è la 2.2.4 sul sito
mjordan è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:28.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v