Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-09-2003, 09: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 17:55.
x110 è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2003, 19: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, 19: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, 02: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, 12: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, 12: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, 12: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, 11: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, 17: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, 18: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, 18: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


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Halo Infinite: in arrivo l'ultimo grande...
TV LG OLED 2025: Amazon fa sconti al che...
Forse, finalmente, ci siamo? Alcuni rumo...
Smart home più facile ed economic...
Motorola edge 50 neo in svendita, 202€: ...
Cina e Paesi Bassi verso la distensione ...
'Senza TSMC non ci sarebbe NVIDIA': Jens...
Fumo di sigaretta e sporco per 17 anni: ...
Resi Amazon Natale 2025: cambiano i temp...
L'SSD modulare aggiornabile come un PC: ...
Intel ha denunciato un ex dipendente per...
Blue Origin rinvia il secondo lancio del...
Nasce l'albo degli influencer 'rilevanti...
Il Digital Networks Act è stato r...
ASUS ROG ha lanciato due nuovi monitor d...
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: 09:22.


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