Edbee adalah komponen editor berbasis QT. Ini mendukung beberapa karet, pelingkupan/tata bahasa teman teks dan menyoroti dukungan.
Kelas dasar Edbee adalah QWIDGET, telah ditulis dari awal dan tidak didasarkan pada komponen editor default QT.
Situs web utama untuk Edbee adalah di http://edbee.net/ Anda dapat menemukan dokumentasi yang dihasilkan di http://docs.edbee.net/
Repositori ini adalah ekstraksi bersih dari repositori monolithical Edbee sebelumnya. Perpustakaan ini tidak berisi file data apa pun. Menggunakannya harus menjadi semudah contoh berikut:
# include " edbee/edbee.h "
edbee::TextEditorWidget* widget = new edbee::TextEditorWidget();Sayangnya kami belum pada titik ini. Saat ini perpustakaan EdBee tidak akan berfungsi tanpa memuat file keymap default.
Menggunakan komponen cukup mudah. Pertama, Anda harus mengatur lingkungan Edbee. Proses ini diperlukan untuk membuat perpustakaan mengetahui lokasi file pengaturan:
# include " edbee/edbee.h "
// get the edbee instance
edbee::Edbee* tm = edbee::Edbee::instance();
// configure your paths
tm -> setKeyMapPath ( " location/of/your/keymap/ " );
tm -> setGrammarPath ( " location/of/your/syntaxfiles/ " );
tm -> setThemePath ( " location/of/your/themes/ " );
// initialize the library
tm -> init ();
// by registering a shutdown function on application exit you don't have to destroy the edbee
// resources yourself. It will result in a clean shutdown
tm -> autoShutDownOnAppExit ();Setelah itu Anda siap untuk pergi. Anda dapat membuat widget seperti ini:
edbee::TextEditorWidget* widget = new edbee::TextEditorWidget();Tentu saja juga menyenangkan untuk mengisi editor dengan file. Anda dapat menggunakan serializer yang disertakan untuk ini.
# include " edbee/io/textdocumentserializer.h "
# include " edbee/texteditorwidget.h "
edbee::TextEditorWidget* widget = new edbee::TextEditorWidget();
edbee::TextDocumentSerializer serializer ( widget-> textDocument () );
QFile file ( QStringLiteral( " your-filename.rb " ) );
if ( !serializer.load( &file ) ) {
QMessageBox::warning ( this , tr ( " Error opening file " ), tr ( " Error opening file! n %1 " ). arg (serializer. errorString ()) );
}
Setelah memuat TextFile, menyenangkan untuk mendeteksi tata bahasa/bahasa file ini. Perpustakaan EdBee menggunakan deteksi tipe file berbasis ekstensi. Tentu saja Anda juga bisa plugin sendiri.
# include " edbee/edbee.h "
# include " edbee/models/textdocument.h "
# include " edbee/models/textgrammar.h "
# include " edbee/texteditorwidget.h "
TextGrammarManager* grammarManager = edbee::Edbee::instance()-> grammarManager ();
TextGrammar* grammar = grammarManager-> detectGrammarWithFilename ( " a-ruby-file.rb " );
widget-> textDocument ()->setLanguagGrammar( grammar );Edbee mendukung AutoComplete. Saat ini sangat terbatas, tetapi dasar telah dilakukan untuk mendukung pelengkapan otomatis yang lebih maju.
Pekerjaan Lengkap Otomatis dengan Meminta Penyedia Autocomplete (TextAutocompleteProvider). Ini memiliki TextAutocompleteProviderList pada tingkat TextDocument dan secara global melalui level Edbee :: Instance ().
Saat ini hanya StringTextAutOcompleTeProvider yang diimplementasikan. Anda dapat menambahkan daftar AutoComplete pada tingkat dokumen dan level Edbeel.
Ide untuk Masa Depan
Saat ini Anda dapat mengatur daftar kata kunci seperti ini:
# include " edbee/models/textautocompleteprovider.h "
StringTextAutoCompleteProvider* provider = new StringTextAutoCompleteProvider();
provider-> add ( " const " );
provider-> add ( " class " );
provider-> add ( " compare " );
// etc ...
// to add it Locally (specific to the given document)
textDocument-> autoCompleteProviderList ()->giveProvider(provider);
// to add it Globally:
Edbee::instance ()->autoCompleteProviderList()->giveProvider(provider);Saat Anda menggunakan proyek QT misalnya util.cpp Anda bisa mendapatkan collisi file objek. (Makefile: Peringatan: perintah utama untuk target util.o). Solusi untuk ini adalah menambahkan baris berikut di (objek_dir adalah opsional, tetapi mencegah peringatan saat menjalankan qmake)
CONFIG += object_parallel_to_source in your .pro file
OBJECTS_DIR = objects
Anda dapat berkontribusi melalui GitHub
Tentu saja Anda juga dapat berkontribusi dengan menghubungi saya melalui twitter @gamecreature atau kirimkan pesan melalui email-address yang disediakan di https://github.com/gamecreature
Meskipun kami memiliki Tracker isu sendiri di (http://issues.edbee.net/), Anda dapat melaporkan masalah Anda melalui pelacak masalah github atau mengirimi saya pesan https://github.com/gamecreatureure