Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
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


Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
La rete elettrica USA funziona solo a me...
La Corte Costituzionale albanese: 'Il ba...
Secondo trailer del nuovo anime di Ken i...
La guerra tra Russia e Ucraina arriva co...
KadNap: il botnet che ha infettato 14.00...
Il cloud è sempre più cent...
Lisuan svela la GPU gaming LX 7G106: deb...
Amazon piena di offerte, ma queste sono ...
Wi-Fi veloce: router e mesh Huawei super...
La retrocompatibilità di Project ...
InvestCloud chiude la sede italiana di M...
TSMC resta irraggiungibile, ma Samsung r...
Il futuro di Dacia: ecco Striker, ma arr...
LG e DataVolt avviano una partnership: s...
Google, una modifica del kernel Android ...
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: 17:07.


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