Re: C++ VteTerminal wrapper library



On Thu, 2007-12-13 at 11:15 +0100, Gennaro Bellizio wrote:
> Hi,
> 
> looking for "vtemm" on google I found an inactive project http:
> //sourceforge.net/projects/vtemm. Browsing the source code (via the CVS 
> web interface, no direct download is available) It seems to be wrapped 
> with gmmproc (and I discovered that I substantially duplicated the 
> work! Not so bad, it was an useful execise). The link to vtemm on gtkmm 
> official web site points to http://vtemm.sourceforge.jp/ that is not 
> wrapped with gmmproc  and it is not very useful. Can you update the 
> link, please?

I'm a little confused. We have
http://sourceforge.net/projects/vtemm
and
http://vtemm.sourceforge.jp/
and your 
"libvtemm"

I'd rather just point to your libvtemm because it's the only one being
maintained. However, I don't think I;m allowed to give you svn write
access at GNOME yet just for this module. Maybe you could request
ownership of the vtemm project on sourceforge.net.

> Thanks in advance.
> 
> 
> Gennaro Bellizio
> 
> P.S. What do you think about my work on libvtemm?

I'm sorry for not looking at your tarball (that you sent me via direct
email) until now. Here are some comments:

1.
I saw this warning when building your tarball:
terminal_widget.cc:1910: warning: returning reference to temporary

2.
The VteReaper is  a singleton in C but you have wrapped it as if the get
function is an instantiator:

 Reaper::Reaper() :
        Glib::Object(reinterpret_cast<GObject*>(::vte_reaper_get()))
    {

I suggest that you use _CTOR_DEFAULT() and just do
 _WRAP_METHOD(static Glib::RefPtr<Reaper> get(), vte_reaper_get)
And you should then remove all that get_instance() and delete_instance()
stuff.

3.
Again in Reaper, why are you trying to wrap the signal by hand instead
of using _WRAP_SIGNAL()?

4.
Your use of whitespace is inconsistent with the other *mm libraries, and
even with itself.

5.
The get*()* functions should be const.

6.
The set*(bool) functions should have a "= true" default value.

7.
You use char* when you probably want either std::string or
Glib::ustring. For instance:
void set_emulation(const char* emulation)
const char* get_encoding()

8.
I suspect that you use use _CLASS_BOXED_*() or _CLASS_GENERIC() for
VteCharAttributes.


-- 
murrayc murrayc com
www.murrayc.com
www.openismus.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]