mirror of https://gitlab.com/cppit/jucipp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
#ifndef JUCI_API_H_ |
|
#define JUCI_API_H_ |
|
|
|
#include <boost/python.hpp> |
|
#include <Python.h> |
|
#include <string> |
|
#include "notebook.h" |
|
#include "menu.h" |
|
|
|
const std::string g_project_root("/home/forgie/app/juci/"); |
|
|
|
namespace libjuci { |
|
|
|
///////////////////////////// |
|
//// API ServiceProvider //// |
|
///////////////////////////// |
|
struct ApiServiceProvider { |
|
public: |
|
static std::shared_ptr<Menu::Controller> menu_; |
|
static std::shared_ptr<Notebook::Controller> notebook_; |
|
|
|
static std::string text; |
|
|
|
ApiServiceProvider(); |
|
static std::string GetWord(); |
|
static void ReplaceWord(const std::string word); |
|
static void ReplaceLine(const std::string line); |
|
|
|
static void AddKeybinding(); |
|
}; |
|
/////////////////////// |
|
//// Glib wrappers //// |
|
/////////////////////// |
|
|
|
void IterToWordStart(Gtk::TextIter &iter); |
|
void IterToWordEnd(Gtk::TextIter &iter); |
|
Gtk::TextIter IterFromNotebook(); |
|
Glib::RefPtr<Gtk::TextBuffer> BufferFromNotebook(); |
|
|
|
/////////////////////// |
|
//// Api to python //// |
|
/////////////////////// |
|
void ReplaceWord(const std::string word_); |
|
|
|
void ReplaceLine(const std::string line_); |
|
|
|
std::string GetWord(); |
|
|
|
////////////////////////////// |
|
//// Boost.Python methods //// |
|
////////////////////////////// |
|
boost::python::api::object openPythonScript(const std::string path, |
|
boost::python::api::object python_name_space); |
|
|
|
//void snippet(std::string& word); |
|
|
|
void LoadPlugin(const std::string& plugin_name); |
|
|
|
}//api |
|
#endif // JUCI_API_H
|
|
|