[haiku-commits] r41246 - in haiku/trunk: headers/private/interface headers/private/shared src/kits/interface src/kits/shared src/preferences/datatranslations

  • From: jonas@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 13 Apr 2011 10:22:03 +0200 (CEST)

Author: kirilla
Date: 2011-04-13 10:22:03 +0200 (Wed, 13 Apr 2011)
New Revision: 41246
Changeset: https://dev.haiku-os.org/changeset/41246

Added:
   haiku/trunk/headers/private/shared/IconView.h
   haiku/trunk/src/kits/shared/IconView.cpp
Removed:
   haiku/trunk/headers/private/interface/IconView.h
   haiku/trunk/src/kits/interface/IconView.cpp
Modified:
   haiku/trunk/src/kits/interface/Jamfile
   haiku/trunk/src/kits/shared/Jamfile
   haiku/trunk/src/preferences/datatranslations/Jamfile
Log:
Move IconView from kits/interface to kits/shared.

Copied: haiku/trunk/headers/private/shared/IconView.h (from rev 41244, 
haiku/trunk/headers/private/interface/IconView.h)
===================================================================
--- haiku/trunk/headers/private/shared/IconView.h                               
(rev 0)
+++ haiku/trunk/headers/private/shared/IconView.h       2011-04-13 08:22:03 UTC 
(rev 41246)
@@ -0,0 +1,27 @@
+// Author: Michael Wilber
+// Copyright (C) Haiku, uses the MIT license
+#ifndef ICONVIEW_H
+#define ICONVIEW_H
+
+
+#include <Bitmap.h>
+#include <Path.h>
+#include <View.h>
+
+
+class IconView : public BView {
+public:
+                                                       IconView(const BRect& 
frame, const char* name,
+                                                               uint32 resize, 
uint32 flags);
+                                                       ~IconView();
+       virtual void                    Draw(BRect area);
+       
+                       bool                    DrawIcon(bool draw);
+                       bool                    SetIcon(const BPath& path);
+
+private:
+                       BBitmap*                fIconBitmap;
+                       bool                    fDrawIcon;
+};
+
+#endif // #ifndef ICONVIEW_H

Modified: haiku/trunk/src/kits/interface/Jamfile
===================================================================
--- haiku/trunk/src/kits/interface/Jamfile      2011-04-13 00:34:28 UTC (rev 
41245)
+++ haiku/trunk/src/kits/interface/Jamfile      2011-04-13 08:22:03 UTC (rev 
41246)
@@ -65,7 +65,6 @@
        GroupLayout.cpp
        GroupLayoutBuilder.cpp
        GroupView.cpp
-       IconView.cpp
        Input.cpp
        InterfaceDefs.cpp
        Layout.cpp

Copied: haiku/trunk/src/kits/shared/IconView.cpp (from rev 41244, 
haiku/trunk/src/kits/interface/IconView.cpp)
===================================================================
--- haiku/trunk/src/kits/shared/IconView.cpp                            (rev 0)
+++ haiku/trunk/src/kits/shared/IconView.cpp    2011-04-13 08:22:03 UTC (rev 
41246)
@@ -0,0 +1,74 @@
+// Author: Michael Wilber
+// Copyright (C) Haiku, uses the MIT license
+
+
+#include "IconView.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#include <Entry.h>
+#include <Node.h>
+#include <NodeInfo.h>
+
+
+IconView::IconView(const BRect& frame, const char* name, uint32 resize,
+       uint32 flags)
+       :
+       BView(frame, name, resize, flags),
+       fIconBitmap(new BBitmap(BRect(B_LARGE_ICON), B_RGBA32)),
+       fDrawIcon(false)
+{
+       SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
+}
+
+
+IconView::~IconView()
+{
+       delete fIconBitmap;
+       fIconBitmap = NULL;
+}
+
+
+bool
+IconView::SetIcon(const BPath& path)
+{
+       fDrawIcon = false;
+       
+       BEntry entry(path.Path());
+       BNode node(&entry);
+       BNodeInfo info(&node);
+       
+       if (info.GetTrackerIcon(fIconBitmap) != B_OK)
+               return false;
+       
+       fDrawIcon = true;
+       Invalidate();
+       return true;
+}
+
+
+bool
+IconView::DrawIcon(bool draw)
+{
+       bool prev = fDrawIcon;
+       fDrawIcon = draw;
+       if (prev != fDrawIcon)
+               Invalidate();
+
+       return prev;
+}
+
+
+void
+IconView::Draw(BRect area)
+{
+       SetDrawingMode(B_OP_ALPHA);
+       SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_OVERLAY);
+
+       if (fDrawIcon)
+               DrawBitmap(fIconBitmap);
+
+       SetDrawingMode(B_OP_COPY);
+}
+

Modified: haiku/trunk/src/kits/shared/Jamfile
===================================================================
--- haiku/trunk/src/kits/shared/Jamfile 2011-04-13 00:34:28 UTC (rev 41245)
+++ haiku/trunk/src/kits/shared/Jamfile 2011-04-13 08:22:03 UTC (rev 41246)
@@ -21,6 +21,7 @@
        DragTrackingFilter.cpp
        HashString.cpp
        IconButton.cpp
+       IconView.cpp
        Keymap.cpp
        NaturalCompare.cpp
        QueryFile.cpp

Modified: haiku/trunk/src/preferences/datatranslations/Jamfile
===================================================================
--- haiku/trunk/src/preferences/datatranslations/Jamfile        2011-04-13 
00:34:28 UTC (rev 41245)
+++ haiku/trunk/src/preferences/datatranslations/Jamfile        2011-04-13 
08:22:03 UTC (rev 41246)
@@ -2,7 +2,7 @@
 
 UseLibraryHeaders lp_solve linprog alm ;
 
-UsePrivateHeaders interface ;
+UsePrivateHeaders shared ;
 
 Preference DataTranslations :
        DataTranslations.cpp
@@ -10,7 +10,7 @@
        DataTranslationsSettings.cpp
        TranslatorListView.cpp
 
-       : be translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
+       : be translation $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) libshared.a
        : DataTranslations.rdef
        ;
 


Other related posts:

  • » [haiku-commits] r41246 - in haiku/trunk: headers/private/interface headers/private/shared src/kits/interface src/kits/shared src/preferences/datatranslations - jonas