Plot-ho-matic 0.9.0.4 → 0.9.0.5
raw patch · 4 files changed
+23/−16 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- Plot-ho-matic.cabal +1/−1
- src/PlotHo/GraphWidget.hs +14/−14
- src/PlotHo/Plotter.hs +3/−1
CHANGELOG.md view
@@ -1,3 +1,8 @@+0.9.0.5+---+* smaller minimum plot size+* use correct gtk column packing function+ 0.9.0.4 --- * code cleanup
Plot-ho-matic.cabal view
@@ -1,5 +1,5 @@ name: Plot-ho-matic-version: 0.9.0.4+version: 0.9.0.5 synopsis: Real-time line plotter for generic data license: BSD3 license-file: LICENSE
src/PlotHo/GraphWidget.hs view
@@ -80,7 +80,7 @@ -- new chart drawing area chartCanvas <- Gtk.drawingAreaNew- void $ Gtk.widgetSetSizeRequest chartCanvas 250 250+ void $ Gtk.widgetSetSizeRequest chartCanvas 80 80 -- some mvars for syncronizing rendering with drawing needRedrawMVar <- CC.newMVar False@@ -266,17 +266,17 @@ Gtk.treeViewSetHeadersVisible treeview True -- add some columns- col1 <- Gtk.treeViewColumnNew- col2 <- Gtk.treeViewColumnNew+ colSignal <- Gtk.treeViewColumnNew+ colVisible <- Gtk.treeViewColumnNew - Gtk.treeViewColumnSetTitle col1 "signal"- Gtk.treeViewColumnSetTitle col2 "visible?"+ Gtk.treeViewColumnSetTitle colSignal "signal"+ Gtk.treeViewColumnSetTitle colVisible "visible?" - renderer1 <- Gtk.cellRendererTextNew- renderer2 <- Gtk.cellRendererToggleNew+ rendererSignal <- Gtk.cellRendererTextNew+ rendererVisible <- Gtk.cellRendererToggleNew - Gtk.cellLayoutPackStart col1 renderer1 True- Gtk.cellLayoutPackStart col2 renderer2 True+ Gtk.treeViewColumnPackStart colSignal rendererSignal True+ Gtk.treeViewColumnPackStart colVisible rendererVisible True let showName :: Either String (a -> [[(Double, Double)]]) -> [String] -> String -- show a getter name@@ -288,11 +288,11 @@ showName (Left typeName) (name:_) = name ++ " (" ++ typeName ++ ")" showName (Left _) [] = error "showName on parent got an empty list" - Gtk.cellLayoutSetAttributes col1 renderer1 treeStore $+ Gtk.cellLayoutSetAttributes colSignal rendererSignal treeStore $ \(ListViewInfo {lviName = name, lviTypeOrGetter = typeOrGetter}) -> [ Gtk.cellText := showName typeOrGetter (reverse name) ]- Gtk.cellLayoutSetAttributes col2 renderer2 treeStore $ \lvi -> case lviMarked lvi of+ Gtk.cellLayoutSetAttributes colVisible rendererVisible treeStore $ \lvi -> case lviMarked lvi of On -> [ Gtk.cellToggleInconsistent := False , Gtk.cellToggleActive := True ]@@ -303,8 +303,8 @@ , Gtk.cellToggleInconsistent := True ] - void $ Gtk.treeViewAppendColumn treeview col1- void $ Gtk.treeViewAppendColumn treeview col2+ void $ Gtk.treeViewAppendColumn treeview colSignal+ void $ Gtk.treeViewAppendColumn treeview colVisible let -- update the graph information@@ -337,7 +337,7 @@ Just i -> return i -- update which y axes are visible- _ <- on renderer2 Gtk.cellToggled $ \pathStr -> do+ _ <- on rendererVisible Gtk.cellToggled $ \pathStr -> do let treePath = Gtk.stringToTreePath pathStr getChildrenPaths path' = do
src/PlotHo/Plotter.hs view
@@ -14,14 +14,16 @@ import qualified GHC.Stats -import Control.Applicative ( liftA2 )+import Control.Applicative import Control.Monad ( void ) import Control.Monad.IO.Class ( MonadIO(..) ) import qualified Control.Concurrent as CC+import Data.Monoid import "gtk3" Graphics.UI.Gtk ( AttrOp( (:=) ) ) import qualified "gtk3" Graphics.UI.Gtk as Gtk import Text.Printf ( printf ) import System.Glib.Signals ( on )+import Prelude -- | add channels to this, then run it with 'runPlotter' newtype Plotter a = Plotter { unPlotter :: IO (a, [ChannelStuff]) } deriving Functor