[QGIS Commit] r8488 - trunk/qgis/src/app/legend
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Wed May 21 13:42:25 EDT 2008
Author: timlinux
Date: 2008-05-21 13:42:24 -0400 (Wed, 21 May 2008)
New Revision: 8488
Modified:
trunk/qgis/src/app/legend/qgslegendlayer.cpp
trunk/qgis/src/app/legend/qgslegendlayer.h
Log:
Make the top level legend item bold for each layer so that it stands out from the categories under it.
Modified: trunk/qgis/src/app/legend/qgslegendlayer.cpp
===================================================================
--- trunk/qgis/src/app/legend/qgslegendlayer.cpp 2008-05-21 17:31:00 UTC (rev 8487)
+++ trunk/qgis/src/app/legend/qgslegendlayer.cpp 2008-05-21 17:42:24 UTC (rev 8488)
@@ -50,6 +50,7 @@
setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
setCheckState (0, Qt::Checked);
setText(0, name);
+ setupFont();
}
QgsLegendLayer::QgsLegendLayer(QTreeWidget* parent, QString name): QgsLegendItem(parent, name)
@@ -58,6 +59,7 @@
setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
setCheckState (0, Qt::Checked);
setText(0, name);
+ setupFont();
}
QgsLegendLayer::QgsLegendLayer(QString name): QgsLegendItem()
@@ -66,6 +68,7 @@
setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
setCheckState (0, Qt::Checked);
setText(0, name);
+ setupFont();
}
QgsLegendLayer::~QgsLegendLayer()
@@ -73,6 +76,12 @@
mType=LEGEND_LAYER;
}
+void QgsLegendLayer::setupFont() //private method
+{
+ QFont myFont = font(0);
+ myFont.setBold(true); //visually differentiate layer labels from the rest
+ setFont(0,myFont);
+}
void QgsLegendLayer::setLayerTypeIcon()
{
QIcon myIcon(getOriginalPixmap());
@@ -205,48 +214,48 @@
void QgsLegendLayer::updateLayerSymbologySettings(const QgsMapLayer* mapLayer)
{
if(mapLayer)
+ {
+ //find all layers
+ std::list<QgsMapLayer*> theMapLayers = mapLayers();
+ for(std::list<QgsMapLayer*>::iterator it = theMapLayers.begin(); it != theMapLayers.end(); ++it)
{
- //find all layers
- std::list<QgsMapLayer*> theMapLayers = mapLayers();
- for(std::list<QgsMapLayer*>::iterator it = theMapLayers.begin(); it != theMapLayers.end(); ++it)
- {
- if((*it) != mapLayer)
- {
- (*it)->copySymbologySettings(*mapLayer);
- }
- }
- // source might have changed - e.g. other subset
- setToolTip(0, mapLayer->publicSource());
+ if((*it) != mapLayer)
+ {
+ (*it)->copySymbologySettings(*mapLayer);
+ }
}
+ // source might have changed - e.g. other subset
+ setToolTip(0, mapLayer->publicSource());
+ }
}
void QgsLegendLayer::updateCheckState()
{
std::list<QgsLegendLayerFile*> llfiles = legendLayerFiles();
if(llfiles.size() < 1)
- {
- return;
- }
+ {
+ return;
+ }
std::list<QgsLegendLayerFile*>::iterator iter = llfiles.begin();
Qt::CheckState theState = (*iter)->checkState(0);
for(; iter != llfiles.end(); ++iter)
+ {
+ if(theState != (*iter)->checkState(0))
{
- if(theState != (*iter)->checkState(0))
- {
- theState = Qt::PartiallyChecked;
- break;
- }
+ theState = Qt::PartiallyChecked;
+ break;
}
+ }
if(theState != checkState(0))
- {
- treeWidget()->blockSignals(true);
- setCheckState(0, theState);
- //notify the legend that the check state has changed
- legend()->updateCheckStates(this, theState);
- treeWidget()->blockSignals(false);
- }
+ {
+ treeWidget()->blockSignals(true);
+ setCheckState(0, theState);
+ //notify the legend that the check state has changed
+ legend()->updateCheckStates(this, theState);
+ treeWidget()->blockSignals(false);
+ }
}
void QgsLegendLayer::refreshSymbology(const QString& key, double widthScale)
@@ -355,8 +364,9 @@
QPixmap pix = QPixmap::fromImage(img); // convert to pixmap
itemList.push_back(std::make_pair(values, pix));
}
-
- if(renderer->needsAttributes()) //create an item for each classification field (only one for most renderers)
+
+ //create an item for each classification field (only one for most renderers)
+ if(renderer->needsAttributes())
{
QgsAttributeList classfieldlist = renderer->classificationAttributes();
const QgsFieldMap& fields = layer->getDataProvider()->fields();
Modified: trunk/qgis/src/app/legend/qgslegendlayer.h
===================================================================
--- trunk/qgis/src/app/legend/qgslegendlayer.h 2008-05-21 17:31:00 UTC (rev 8487)
+++ trunk/qgis/src/app/legend/qgslegendlayer.h 2008-05-21 17:42:24 UTC (rev 8488)
@@ -112,6 +112,13 @@
void updateLayerSymbologySettings(const QgsMapLayer* mapLayer);
QPixmap getOriginalPixmap() const;
+
+ private:
+ /** Helper method to make the font bold from all ctors.
+ * Not to be confused with setFont() which is inherited
+ * from the QTreeWidgetItem base class.
+ */
+ void setupFont();
};
#endif
More information about the QGIS-commit
mailing list