aboutsummaryrefslogtreecommitdiff
path: root/templates/qclass.sh
blob: 8ad085a8a98eeee92d25779bb763c39663c2561b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env sh

set -e -o pipefail

class_name="$1"
path="$2"

[ -z "$class_name" ] && exit 1

mkdir -p "./include/$path";
mkdir -p "./src/$path";

# Header
echo "#pragma once

#include <QtCore>
#include <QWidget>

class $class_name : public QWidget {
  Q_OBJECT

  public:
  $class_name();
};
" > "./include/$path/$class_name.hpp"

# Implementation
echo "#include <QtCore>
#include <QWidget>

#include \"$path/$class_name.hpp\"

$class_name::$class_name(): QWidget() {}
" > "./src/$path/$class_name.cpp"