Commit 0b63fc32 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

axisstatement

parent 02b011d6
Loading
Loading
Loading
Loading
+15 −14
Original line number Diff line number Diff line
@@ -9,32 +9,33 @@ enable_testing()
set(FNORDMETRIC_SOURCES
    src/util/format.cc)

set(FNORDMETRIC_QUERY_SOURCES
set(FNORDMETRIC_UI_SOURCES
    ${FNORDMETRIC_SOURCES}
    src/ui/areachart.cc
    src/ui/axisdefinition.cc
    src/ui/barchart.cc
    src/ui/canvas.cc
    src/ui/linechart.cc
    src/ui/pointchart.cc)

set(FNORDMETRIC_QUERY_SOURCES
    ${FNORDMETRIC_UI_SOURCES}
    src/query/query.cc
    src/query/astnode.cc
    src/query/compile.cc
    src/query/drawstatement.cc
    src/query/executable.cc
    src/query/execute.cc
    src/query/expressions/aggregate.cc
    src/query/expressions/boolean.cc
    src/query/expressions/math.cc
    src/query/grouper.cc
    src/query/parser.cc
    src/query/queryplan.cc
    src/query/svalue.cc
    src/query/symboltable.cc
    src/query/token.cc
    src/query/tokenize.cc
    src/query/expressions/aggregate.cc
    src/query/expressions/boolean.cc
    src/query/expressions/math.cc)

set(FNORDMETRIC_UI_SOURCES
    ${FNORDMETRIC_SOURCES}
    src/ui/areachart.cc
    src/ui/axisdefinition.cc
    src/ui/barchart.cc
    src/ui/canvas.cc
    src/ui/linechart.cc
    src/ui/pointchart.cc)
    src/query/tokenize.cc)

include_directories(./src)
set(CMAKE_CXX_FLAGS "-std=c++0x -stdlib=libc++")
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ public:

    T_SERIES,
    T_SERIES_NAME,
    T_AXIS,
    T_DRAW
  };

+50 −0
Original line number Diff line number Diff line
/**
 * This file is part of the "FnordMetric" project
 *   Copyright (c) 2014 Paul Asmuth, Google Inc.
 *
 * Licensed under the MIT license (see LICENSE).
 */
#ifndef _FNORDMETRIC_QUERY_AXISSTATEMENT_H
#define _FNORDMETRIC_QUERY_AXISSTATEMENT_H
#include <stdlib.h>
#include <assert.h>
#include "compile.h"
#include "execute.h"
#include "executable.h"

namespace fnordmetric {
namespace query {

class AxisStatement : public Executable {
public:

  AxisStatement(
      std::vector<std::string>&& columns,
      Executable* child) :
      columns_(std::move(columns)),
      child_(child) {
    child->setTarget(this);
  }

  void execute() override {}

  bool nextRow(SValue* row, int row_len) override {
    return true;
  }

  size_t getNumCols() const override {
    return columns_.size();
  }

  const std::vector<std::string>& getColumns() const override {
    return columns_;
  }

protected:
  std::vector<std::string> columns_;
  Executable* child_;
};

}
}
#endif
+18 −0
Original line number Diff line number Diff line
/**
 * This file is part of the "FnordMetric" project
 *   Copyright (c) 2014 Paul Asmuth, Google Inc.
 *
 * Licensed under the MIT license (see LICENSE).
 */
#include "drawstatement.h"
#include "../ui/canvas.h"

namespace fnordmetric {
namespace query {

void DrawStatement::execute(ui::Canvas* canvas) {
  printf("execute!");
}

}
}
+14 −4
Original line number Diff line number Diff line
@@ -10,9 +10,13 @@
#include <assert.h>
#include "compile.h"
#include "execute.h"
//#include "../drawable.h"
#include "executable.h"
#include "seriesstatement.h"

namespace fnordmetric {
namespace ui {
class Canvas;
}
namespace query {

class DrawStatement : public Executable {
@@ -28,9 +32,7 @@ public:
      kDrawStatementType type) :
      type_(type) {}

  void execute() override {
    // FIXPAUL execute prop list
  }
  void execute() override {}

  bool nextRow(SValue* row, int row_len) override {
    assert(0);
@@ -49,7 +51,15 @@ public:
    return type_;
  }

  void addSeriesStatement(SeriesStatement* series_stmt) {
    series_stmts_.push_back(series_stmt);
  }

  void execute(ui::Canvas* canvas);

protected:
  std::vector<SeriesStatement*> series_stmts_;
  //std::vector<AxisStatement*> axis_stmts_;
  kDrawStatementType type_;
};

Loading