Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ TheIDE and Library: Releases and ChangeLogs » GTK theming a reality
Re: GTK theming a reality [message #6830 is a reply to message #6827] Thu, 30 November 2006 20:52 Go to previous messageGo to previous message
guido is currently offline  guido
Messages: 169
Registered: April 2006
Experienced Member
luzr wrote on Wed, 29 November 2006 20:29

Will you try? I think should be relatively easy (CtrlLib/ChGtk.cpp)

Mirek



Ok. Here my take:


	char *font_name = "";
	GOBJ().g_object_get(GTK().gtk_settings_get_default(), "gtk-font-name", &font_name, NULL);
	int xdpi;
	GOBJ().g_object_get(GTK().gtk_settings_get_default(), "gtk-xft-dpi", &xdpi, NULL);

	int fontname = Font::ARIAL;
	int fontheight = 13;
	
	const char *q = strrchr(font_name, ' ');
	if(q) {
		int h = atoi(q);
		if(h)
			fontheight = h;
		String face(font_name, q);
		if(Font::FindFaceNameIndex(face) < 0)
			if(ToUpper(face[0]) == 'M')
				fontname = Font::COURIER;
			else
			if(ToUpper(face[0]) == 'S' && ToUpper(face[1]) == 'e')
				fontname = Font::ROMAN;
	}
		
	Draw::SetStdFont(Font(fontname, (fontheight * xdpi) / (1024*72)));	

	ChLookFn(GtkLookFn);


I looked at the GDK docs, and that's the math there.


Incidentally, I fixed a allocation bug, which I noticed GTK complain about, when starting a sample app from a terminal.

The last line, is the fixed one:
ChSet("ScrollBarOverThumb", m != GetGTK(w, 0, 0, "slider", GTK_SLIDER|GTK_VAL1, 16, 32));
	GTK().gtk_widget_destroy(w);
	GTK().gtk_object_sink(adj);


Add to gtk.dli:
FN(void, gtk_object_sink, (G_obj *widget))


 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: TrayIcon Win32 fixed some misbehaviour....
Next Topic: New Vector optimization reduces Linux executable size by 0.8%
Goto Forum:
  


Current Time: Tue Jul 08 17:05:49 CEST 2025

Total time taken to generate the page: 0.04057 seconds